整數就是沒有小數部分的數字,Python 中的整數包括正整數、0 和負整數。
有些強類型的編程語言會提供多種整數類型,每種類型的長度都不同,能容納的整數的大小也不同,開發者要根據實際數字的大小選用不同的類型。例如C語言提供了 short、int、long、long long 四種類型的整數,它們的長度依次遞增,初學者在選擇整數類型時往往比較迷惑,有時候還會導致數值溢出。
而 Python 則不同,它的整數不分類型,或者說它只有一種類型的整數。Python 整數的取值范圍是無限的,不管多大或者多小的數字,Python 都能輕松處理。
當所用數值超過計算機自身的計算能力時,Python 會自動轉用高精度計算(大數計算)。
請看下面的代碼:
#將 78 賦值給變量 n n = 78 print(n) print( type(n) ) #給x賦值一個很大的整數 x = 8888888888888888888888 print(x) print( type(x) ) #給y賦值一個很小的整數 y = -7777777777777777777777 print(y) print( type(y) )
運行結果:
78
<class 'int'>
8888888888888888888888
<class 'int'>
-7777777777777777777777
<class 'int'>
x 是一個極大的數字,y 是一個很小的數字,Python 都能正確輸出,不會發生溢出,這說明 Python 對整數的處理能力非常強大。
不管對於多大或者多小的整數,Python 只用一種類型存儲,就是 int。
關於 Python 2.x
Python 3.x 只用 int 一種類型存儲整數,但是 Python 2.x 會使用 long 類型來存儲較大的整數。以上代碼在 Python 2.x 下的運行結果為:
78 <type 'int'> 8888888888888888888888 <type 'long'> -7777777777777777777777 <type 'long'>
但是不管哪個版本的 Python,都能輕松處理極大和極小的數字,而且程序員也不用操心底層到底使用了 int 還是 long 類型。
整數的不同進制
在 Python 中,可以使用多種進制來表示整數:
1) 十進制形式
我們平時常見的整數就是十進制形式,它由 0~9 共十個數字排列組合而成。
注意,使用十進制形式的整數不能以 0 作為開頭,除非這個數值本身就是 0。
2) 二進制形式
由 0 和 1 兩個數字組成,書寫時以0b
或0B
開頭。例如,101 對應十進制數是 5。
3) 八進制形式
八進制整數由 0~7 共八個數字組成,以0o
或0O
開頭。注意,第一個符號是數字 0,第二個符號是大寫或小寫的字母 O。
在 Python 2.x 中,八進制數字還可以直接以0
(數字零)開頭。
4) 十六進制形式
由 0~9 十個數字以及 A~F(或 a~f)六個字母組成,書寫時以0x
或0X
開頭,
【實例】不同進制整數在 Python 中的使用:
#十六進制 hex1 = 0x45 hex2 = 0x4Af print("hex1Value: ", hex1) print("hex2Value: ", hex2) #二進制 bin1 = 0b101 print('bin1Value: ', bin1) bin2 = 0B110 print('bin2Value: ', bin2) #八進制 oct1 = 0o26 print('oct1Value: ', oct1) oct2 = 0O41 print('oct2Value: ', oct2)
運行結果:
hex1Value: 69
hex2Value: 1199
bin1Value: 5
bin2Value: 6
oct1Value: 22
oct2Value: 33
本例的輸出結果都是十進制整數。
數字分隔符
為了提高數字的的可讀性,Python 3.x 允許使用下划線_
作為數字(包括整數和小數)的分隔符。通常每隔三個數字添加一個下划線,類似於英文數字中的逗號。下划線不會影響數字本身的值。
【實例】使用下划線書寫數字:
click = 1_301_547 distance = 384_000_000 print("Python教程閱讀量:", click) print("地球和月球的距離:", distance)
運行結果:
Python教程閱讀量:1301547
地球和月球的距離:384000000
到此這篇關於Python整數類型(int)的文章就介紹到這了,更多Python技術和學習資料進入博主的Python圈子觀看和下載。