整數就是沒有小數部分的數字,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.xPython 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: 69hex2Value: 1199bin1Value: 5bin2Value: 6oct1Value: 22oct2Value: 33
本例的輸出結果都是十進制整數。
數字分隔符為了提高數字的可讀性,Python 3.x 允許使用下劃線_作為數字(包括整數和小數)的分隔符。通常每隔三個數字添加一個下劃線,類似于英文數字中的逗号。下劃線不會影響數字本身的值。【實例】使用下劃線書寫數字:
click = 1_301_547 distance = 384_000_000 print("Python教程閱讀量:", click) print("地球和月球的距離:", distance)
運行結果:
Python教程閱讀量:1301547地球和月球的距離:384000000
到此這篇關于Python整數類型(int)的文章就介紹到這了,最後多說一句,小編是一名python開發工程師,這裡有我自己整理了一套最新的python系統學習教程,包括從基礎的python腳本到web開發、爬蟲、數據分析、數據可視化、機器學習等。想要這些資料的可以關注小編,并在後台私信小編:“01”即可領取。
本文的文字及圖片來源于網絡加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!