有時候,我們需要對資料内置的類型進行轉換,資料類型的轉換,你隻需要将資料類型作為函數名即可,轉換函數如下:
int(x) 将x轉換為一個整數。
float(x) 将x轉換到一個浮點數。
complex(x) 将x轉換到一個複數,實數部分為 x,虛數部分為 0。
complex(x, y) 将 x 和 y 轉換到一個複數,實數部分為 x,虛數部分為 y。x 和 y 是數字表達式。
代碼示例:
1
2
3
4
5
6
7
8
9
10
11
<code>a </code><code>=</code> <code>20.0</code>
<code>b </code><code>=</code> <code>20</code>
<code>print</code><code>(</code><code>"a轉換後的值為:"</code><code>, </code><code>int</code><code>(a))</code>
<code>print</code><code>(</code><code>"此時a的類型為:"</code><code>, </code><code>type</code><code>(</code><code>int</code><code>(a)))</code>
<code>print</code><code>(</code><code>"b轉換後的值為:"</code><code>, </code><code>float</code><code>(b))</code>
<code>print</code><code>(</code><code>"此時b的類型為:"</code><code>, </code><code>type</code><code>(</code><code>float</code><code>(b)))</code>
<code>print</code><code>(</code><code>"a轉換後的表達式為:"</code><code>, </code><code>complex</code><code>(a))</code>
<code>print</code><code>(</code><code>"此時a的類型為:"</code><code>, </code><code>type</code><code>(</code><code>complex</code><code>(a)))</code>
<code>print</code><code>(</code><code>"a和b轉換後的表達式為:"</code><code>, </code><code>complex</code><code>(a, b))</code>
<code>print</code><code>(</code><code>"此時a和b的類型為:"</code><code>, </code><code>type</code><code>(</code><code>complex</code><code>(a, b)))</code>
運作結果:
a轉換後的值為:20 此時a的類型為:<class 'int'> b轉換後的值為:20.0 此時b的類型為:<class 'float'> a轉換後的表達式為:(20+0j) 此時a的類型為:<class 'complex'> a和b轉換後的表達式為:(20+20j) 此時a和b的類型為:<class 'complex'>
至于運算符之前已經介紹過了,在這裡隻是介紹一下經過運算後發生的類型轉換情況。
當我們使用除法運算符進行運算時,會将運算的結果值自動轉換成浮點類型
注意:在不同的機器上浮點運算的結果可能會不一樣。
<code>a </code><code>=</code> <code>10</code>
<code>print</code><code>(</code><code>type</code><code>(a</code><code>/</code><code>b))</code>
<class 'float'>
當使用一個整型和一個浮點型的值進行混合運算時,結果值也是浮點類型。
<code>a </code><code>=</code> <code>12.33</code>
在互動模式中,最後被輸出的表達式結果被指派給變量 _ 。例如:
<code>>>> tax </code><code>=</code> <code>12.5</code> <code>/</code> <code>100</code>
<code>>>> price </code><code>=</code> <code>100.50</code>
<code>>>> price </code><code>*</code> <code>tax</code>
<code>12.5625</code>
<code>>>> price </code><code>+</code> <code>_</code>
<code>113.0625</code>
<code>>>> </code><code>round</code><code>(_, </code><code>2</code><code>)</code>
<code>113.06</code>
此處, _ 變量應被使用者視為隻讀變量。
數學函數是用來進行數學相關的計算的,如圖:
下面示範幾個平時有可能用到的函數,代碼示例:
<code>import</code> <code>math </code><code># 需要導入math子產品</code>
<code>print</code><code>(</code><code>"b的絕對值是:"</code><code>, </code><code>abs</code><code>(b))</code>
<code>print</code><code>(</code><code>"a舍去小數後的值是:"</code><code>, math.floor(a))</code>
<code>print</code><code>(</code><code>"b的平方根是:"</code><code>, math.sqrt(b))</code>
<code>print</code><code>(</code><code>"最大值是:"</code><code>, </code><code>max</code><code>(</code><code>12</code><code>, </code><code>5</code><code>, </code><code>54</code><code>, </code><code>65</code><code>, </code><code>87</code><code>, </code><code>12</code><code>, </code><code>51</code><code>, </code><code>3</code><code>, </code><code>6</code><code>, </code><code>9</code><code>))</code>
<code>print</code><code>(</code><code>"最小值是:"</code><code>, </code><code>min</code><code>(</code><code>12</code><code>, </code><code>5</code><code>, </code><code>54</code><code>, </code><code>65</code><code>, </code><code>87</code><code>, </code><code>12</code><code>, </code><code>51</code><code>, </code><code>3</code><code>, </code><code>6</code><code>, </code><code>9</code><code>))</code>
<code>print</code><code>(</code><code>"a四舍五入後的值為:"</code><code>, math.ceil(a))</code>
b的絕對值是: 20 a舍去小數後的值是: 12 b的平方根是: 4.47213595499958 最大值是: 87 最小值是: 3 a四舍五入後的值為: 13
随機數可以用于數學,遊戲,安全等領域中,還經常被嵌入到算法中,用以提高算法效率,并提高程式的安全性。
Python包含以下常用随機數函數:
常用的生成随機數代碼示例:
<code>import</code> <code>random</code>
<code>a </code><code>=</code> <code>random.choice(</code><code>range</code><code>(</code><code>10</code><code>))</code>
<code>print</code><code>(</code><code>"生成了一個10以内的随機數:"</code><code>, a)</code>
<code>print</code><code>(</code><code>"生成了一個0-99的随機整數:"</code><code>,random.randint(</code><code>0</code><code>,</code><code>99</code><code>))</code>
<code>print</code><code>(</code><code>"生成了一個1-10的随機浮點數:"</code><code>, random.uniform(</code><code>1</code><code>, </code><code>10</code><code>))</code>
<code>print</code><code>(</code><code>"生成了一個0-1的随機數:"</code><code>, random.random())</code>
<code>print</code><code>(</code><code>"随機挑選了一個choice裡的字元串:"</code><code>, random.choice([</code><code>'apple'</code><code>, </code><code>'pear'</code><code>, </code><code>'peach'</code><code>, </code><code>'orange'</code><code>, </code><code>'lemon'</code><code>]))</code>
生成了一個10以内的随機數: 4 生成了一個0-99的随機整數: 7 生成了一個1-10的随機浮點數: 2.7335927673824765 生成了一個0-1的随機數: 0.7715090099371151 随機挑選了一個choice裡的字元串: lemon
本文轉自 ZeroOne01 51CTO部落格,原文連結:http://blog.51cto.com/zero01/1976452,如需轉載請自行聯系原作者