Python整數類型(int)詳解


Python一對一答疑,幫助有志青年!使用QQ在線輔導,哪里不懂問哪里,整個過程都是一對一,學習更有針對性。和作者直接交流,不但提升技能,還提升 Level;當你決定加入我們,你已然超越了 90% 的程序員。猛擊這里了解詳情。

 

整數就是沒有小數部分的數字,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 兩個數字組成,書寫時以0b0B開頭。例如,101 對應十進制數是 5。

3) 八進制形式

八進制整數由 0~7 共八個數字組成,以0o0O開頭。注意,第一個符號是數字 0,第二個符號是大寫或小寫的字母 O。

在 Python 2.x 中,八進制數字還可以直接以0(數字零)開頭。

4) 十六進制形式

由 0~9 十個數字以及 A~F(或 a~f)六個字母組成,書寫時以0x0X開頭,

【實例】不同進制整數在 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圈子觀看和下載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM