python3 第九章,python3

來源:互聯網
上載者:User

python3 第九章,python3

Python 支援三種不同的數字類型:

  • 整型(Int) - 通常被稱為是整型或整數,是正或負整數,不帶小數點。Python3 整型是沒有限制大小的,可以當作 Long 類型使用,所以 Python3 沒有 Python2 的 Long 類型。
  • 浮點型(float) - 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)。之所以稱為浮點數是因為按照科學記號標記法表示時,一個浮點數的小數點位置是可變的,比如,1.23x109和12.3x108是完全相等的。浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。整數和浮點數在電腦內部儲存的方式是不同的,整數運算永遠是精確的(除法難道也是精確的?是的!),而浮點數運算則可能會有四捨五入的誤差。
  • 複數( (complex)) - 複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。點擊此處查閱複數的概念

我們用id()這個函數來輸出變數所引用的地址:

var1 = 100print(id(var1))var1 = 200print(id(var1))

以上代碼,輸出:

20129695362012972736

你會發現,orz,兩次的記憶體位址都不想同的。由此可以看出,Python 數字資料類型用於儲存數值,資料類型是不允許改變的,這就意味著如果改變數字資料類型的值,將重新分配記憶體空間。

 

以下執行個體在變數賦值時 Number 對象將被建立:

var1 = 1var2 = 10

您也可以使用del語句刪除一些數值對象的引用。del語句的文法是:

del var1[,var2[,var3[....,varN]]]]

 

多個要刪除的對象之前用逗號“,”隔開,例如:

var1 = 1var2 = 10del var1, var2

 

電腦由於使用二進位,所以,有時候用十六進位表示整數比較方便,十六進位用0x首碼(小寫x或者或者大寫的X都可以)和0~9,a~f表示,例如:0xf0,0xabc123,八進位用0o首碼(小寫o或者大寫的O都可以)和0~7,例如:0o37

number = 0xA0F  # 十六進位number2 = 0o37  # 八進位print(number)print(number2)

以上代碼,輸出:

257531

思考,如何用程式來實現10進位轉2進位、8進位、16進位、任意進位?

 

數實值型別的舉例

int float complex
10 0.0 3.14j
100 15.20 45.j
-786 -21.9 9.322e-36j
080 32.3+e18 .876j
-0490 -90. -.6545+0J
-0x260 -32.54e100 3e+26J
0x69 70.2-E12 4.53e-7j

 

有時候,我們需要對資料內建的類型進行轉換,資料類型的轉換,你只需要將資料類型作為函數名即可:

  • int(x) 將x轉換為一個整數。
  • float(x) 將x轉換到一個浮點數。
  • complex(x) 將x轉換到一個複數,實數部分為 x,虛數部分為 0。
  • complex(x, y) 將 x 和 y 轉換到一個複數,實數部分為 x,虛數部分為 y。x 和 y 是數字運算式。
a = 1.0print(int(a))

以上代碼,輸出

1

 

注意:在不同的機器上浮點運算的結果可能會不一樣。
在整數除法中,除法(/)總是返回一個浮點數,如果只想得到整數的結果,丟棄可能的分數部分,可以使用運算子 // :

print(17 / 3)  # 整數除法返回浮點型print(17 // 3)  # 整數除法返迴向下取整後的結果print(17 % 3)  # %操作符返回除法的餘數

以上代碼,輸出:

5.66666666666666752

 

可以使用 ** 操作來進行冪運算:

print('5的平方:', 5 ** 2)print('5的3次方:', 5 ** 3)

以上代碼,輸出:

5的平方: 255的3次方: 125

 

不同類型的數混合運算時會將整數轉換為浮點數:

print('3 * 3.75 / 1.5 的值:', 3 * 3.75 / 1.5)

以上代碼,輸出:

3 * 3.75 / 1.5 的值: 7.5

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.