亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

Python int()函數

2023-04-25 12:32:00
字體:
來源:轉載
供稿:網友

int()函數是Python的一個內置函數,其作用是把一個數字或字符串轉換成整型數據,或者在沒有傳遞任何參數時返回0.

語法格式

官方文檔給出的語法格式如下

class int([x = 0])
class int(x, base = 10)

參數

x:一個數字或字符串,若x不是數字或者指定了參數base時,x必須是一個字符串;

base:數字基于的基,即轉換數字的進制。默認為10進制。

返回值

該函數的返回值是一個整型數。

Python int()函數

不帶參數的輸出

如上面所述,該函數沒有參數時,返回0值。

a = int()
print("a=", a)
print(type(a))

輸出結果如下:

a= 0
<class 'int'>

在Python 3.8.2中的輸出如下圖所示:

Python int()不帶參數的例子

帶數字參數的例子

數字可以是整型數、浮點數或其它進制的數字。

print(int(12))
print(int(10.2))
print(int(10.89))
print(int(-10.89))
print(int(0b1001))
print(int(0o57))
print(int(0xFC))

輸出結果如下:

12
10
10
-10
9
47
252

從上面的輸出結果可以看出:int()函數對浮點數不是進行的四舍五入操作,而是取浮點數的整數部分;int()函數會把其他進制的數字轉換成十進制形式。

Python int()函數更多的例子

參數是字符串

參數是字符串時,字符串中的數字只能是整數,不能是小數,其它進制的數字需要配合base參數。

>>> print(int('100'))
100
>>> print(int('10.4'))
Traceback (most recent call last):
  File "<pyshell#15>", line 1, in <module>
    print(int('10.4'))
ValueError: invalid literal for int() with base 10: '10.4'

>>> print(int('0b1001'))
Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    print(int('0b1001'))
ValueError: invalid literal for int() with base 10: '0b1001'

>>>

使用base參數

使用base參數時,參數x必須是字符串、字節或字節數組,且x所表示的進制數需跟base指定的進制一致。

base的取值范圍為從2到36,或者取值為0,base默認取值為10.

基為n的一個字符序列,其包含的有效數位為0~n-1,超過9的數位使用字母 a z (或者 A Z )來表示,分別代表10~35的數值,這也就解釋了為什么base的最大取值只能為36。

基為2, 8和16的數字字符串也可以分別加前綴'0b/0B','0o/0O''0x/0X'

當base取值為0時,int函數要精確解釋每個數位,其合法的字符串只能是以二進制、八進制、十六進制前綴開始的數字字符或1~9開始的數字字符,那么int('010',0),int('AF',0)的用法會報錯,而int('010'),int('0b010',0),int('0o010',0)以及int('0x010',0)的寫法則是有效的寫法。

下面這些例子是把字符串100運用到int()函數的情形:

Python int()函數base參數的使用

因為字符串“100”中包含的數位是2~36進制中的有效數位,所以int()函數都可以正確執行;超過36的數將是無效的參數值,將引發“ValueError”錯誤。

下面再給出一組例子用于說明base參數的使用情況:

>>> int('78',2)
Traceback (most recent call last):
  File "<pyshell#44>", line 1, in <module>
    int('78',2)
ValueError: invalid literal for int() with base 2: '78'

>>> int('78', 9)
71
>>> int('0b1001',2)
9
>>> int('1001', 2)
9
>>> int('0O67', 8)
55
>>> int('0O67', 9)
Traceback (most recent call last):
  File "<pyshell#49>", line 1, in <module>
    int('0O67', 9)
ValueError: invalid literal for int() with base 9: '0O67'

>>> int('0xF35', 16)
3893
>>>

上面這組例子說明:當使用前綴的進制格式時,base只能取對應的值,否則也會引發“ValueError”錯誤。當然,當base取得足夠大,使其數位包含了前綴中的字母,也可以正確輸出。

當使用base參數時,x的取值只能是字符串、字節數據或字節數組類型。

Python中的base參數的使用

字節數據或字節數組數據的使用

a = int(bytes("-16", "utf-8"))
print(a)

b = int(bytearray("-0F1", "utf-8"),16)
print(b)

輸出結果如下:

-16
-241

int函數用于用戶對象中

如果用戶對象x中定義了__int__()函數,則int(x)返回x.__int__()的值;如果對象x中定義了__trunc__()函數,則int(x)返回x.__trunc__()的值。

class MySite:
    age = 0

    def __int__(self):
        print('調用了__int__()函數:')
        return self.age

    def __trunc__(self):
        print('調用了__trunc__()函數:')
        return self.age

x = MySite()
x.age = 13
print(int(x))

輸出結果如下:

調用了__int__()函數:
13

如果把__int__()的定義刪除掉或注釋掉后,輸出的結果如下:

調用了__trunc__()函數:
13

__int__()__trunc__()兩個函數的定義都刪除掉或注釋掉后的輸出結果如下:

Traceback (most recent call last):
  File "D:/01Lesson/PY/int.py", line 34, in <module>
    print(int(x))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'MySite'

在Python 3.4版本增加了__index__()函數,如果對象中未定義__int__()函數,則調用__index__()函數。

在Python 3.6版中,int()函數增加了對以下劃線“_” 進行分組數字的支持:

>>> int(123_1234)
1231234
>>> int('123_1234')
1231234
>>> int('123_1234', 8)
340636

在Python 3.7版本中,x變成位置參數,即不能使用等號=進行賦值,即 x = 23這種使用方法不再被允許。

總結

Python中int()函數是一個內置函數,其作用:

(1)x的取值可以是數值型數據,數字字符串或字節數據(bytes)或字節數組數據(bytearray)

(2)x取整數值時,直接返回其本身;

(3)x為浮點數時,截取整數部分;

(4)x為數字字符串時,在未指定base參數時,默認對字符串中的每個字符按10進制進行解釋,并將其轉換成10進制數;在指定base時,使用以base為基進行解釋字符串中的字符;base的有效取值為2~36,或0。base以n為基時,其有效數位為0~n-1,超出9時,分別使用a到z(或A到Z)字母表示對應的數碼位。

(5)在base取2,8,16時,字符串表示的數字可以加前綴'0b/0B','0o/0O','0x/0X';

(6)在x取值為數值型數據時,不能同時使用base參數;只有x為字符串或字節數據或字節數組數據時,才能使用base采納數;

(7)int()函數按照base指定的進制無法解釋x中的字符時,將引發ValueError錯誤。

(8)在用戶定義對象中,int(x)將按照__int__(),__index__()、__trunc__()的順序查找定義,如無任何定義,則引發TypeError異常。

以上內容參照了官方的相關文檔及網絡中的其它文章總結而寫。

上一篇:Python chr()函數

下一篇:Python rsplit()函數

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品一区二区三区婷婷月| 国产综合在线看| 91在线网站视频| 欧美高清激情视频| 久久精品国产综合| 亚洲深夜福利网站| 国产亚洲精品va在线观看| 久久久在线观看| 黑人巨大精品欧美一区免费视频| 国语自产精品视频在线看一大j8| 国产v综合ⅴ日韩v欧美大片| 久久久亚洲网站| 日韩国产精品亚洲а∨天堂免| 亚洲国产天堂久久国产91| 日韩欧美在线观看视频| 亚洲男人天堂网站| 欧美成人一二三| 最近的2019中文字幕免费一页| 91chinesevideo永久地址| 一本一本久久a久久精品牛牛影视| 欧美老女人在线视频| 国产+人+亚洲| 亚洲系列中文字幕| 这里只有精品视频| 992tv在线成人免费观看| 少妇高潮 亚洲精品| 免费99精品国产自在在线| 成人97在线观看视频| 欧美xxxx做受欧美| 国内揄拍国内精品少妇国语| 97视频在线观看免费高清完整版在线观看| 欧美性xxxxhd| 黑人极品videos精品欧美裸| 97香蕉久久夜色精品国产| 亚洲精品国产精品国自产观看浪潮| 国产一区二区视频在线观看| 欧美成人激情视频免费观看| 亚洲欧美三级伦理| 欧美肥婆姓交大片| 欧美激情综合亚洲一二区| 日韩在线观看av| 亚洲黄色有码视频| 日本a级片电影一区二区| 2019av中文字幕| 久久91超碰青草是什么| 庆余年2免费日韩剧观看大牛| 日韩中文理论片| 亚洲精品99久久久久中文字幕| 色琪琪综合男人的天堂aⅴ视频| 国产自产女人91一区在线观看| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲欧美国产精品va在线观看| 亚洲女人天堂成人av在线| 自拍偷拍亚洲精品| 国产亚洲欧洲高清| 久久久久国产一区二区三区| 91tv亚洲精品香蕉国产一区7ujn| 国产在线视频2019最新视频| 欧美成人在线网站| 久久这里只有精品99| 国产成人精品视频在线观看| 尤物yw午夜国产精品视频明星| 91爱视频在线| 亚洲sss综合天堂久久| 欧美色道久久88综合亚洲精品| 欧美日本亚洲视频| 国产精品xxxxx| 国产精品久久久91| 国产亚洲一区精品| 国产精品亚洲一区二区三区| 国产又爽又黄的激情精品视频| 日韩动漫免费观看电视剧高清| 亚洲天堂精品在线| 成人黄色免费在线观看| 亚洲伊人久久大香线蕉av| 久久久精品国产亚洲| 91精品视频专区| 懂色aⅴ精品一区二区三区蜜月| 97视频人免费观看| 亚洲一区二区三区在线免费观看| 日韩专区在线观看| 精品日韩中文字幕| 日韩影视在线观看| 国产日韩中文字幕| 国产欧美日韩精品专区| 国产精品视频不卡| 国产视频在线观看一区二区| 久热爱精品视频线路一| 欧美日韩精品二区| 国产成人啪精品视频免费网| 欧美在线观看一区二区三区| 久久久噜噜噜久久| 色妞在线综合亚洲欧美| 91视频国产一区| 国产亚洲精品久久久久久| 亚洲另类xxxx| 亚洲第一区在线| 成人精品一区二区三区电影免费| 国产91精品不卡视频| 亚洲性日韩精品一区二区| 亚洲国产精彩中文乱码av在线播放| 日韩av在线电影网| 精品国产一区二区三区四区在线观看| 欧美日韩成人在线视频| 538国产精品一区二区在线| 国模视频一区二区| 57pao国产精品一区| 国产成人精品综合久久久| 亚洲第一天堂无码专区| 日本午夜精品理论片a级appf发布| 91在线观看免费网站| 国产精品专区第二| 亚洲国内精品视频| 亚洲精品自产拍| 国产精品美女久久| 成人免费福利在线| 国产综合在线观看视频| 欧美在线观看www| 久久综合亚洲社区| 国产精品18久久久久久麻辣| 麻豆乱码国产一区二区三区| 久久久精品视频成人| 福利二区91精品bt7086| 欧美亚洲成人网| 国产精品极品在线| 久久久久久高潮国产精品视| 啊v视频在线一区二区三区| 亚洲免费av网址| 日韩免费av片在线观看| 一本久久综合亚洲鲁鲁| 欧美电影在线观看高清| 乱亲女秽乱长久久久| 亚洲91av视频| 欧美极品少妇与黑人| 国产精品偷伦视频免费观看国产| 欧美主播福利视频| 中文字幕九色91在线| 国产一区二区av| 日韩国产高清视频在线| 97精品视频在线播放| 国产精品福利在线| 亚洲成色999久久网站| 久久的精品视频| 成人福利视频在线观看| 亚洲最新av在线网站| 欧美日韩黄色大片| 亚洲欧美综合区自拍另类| 伊人伊成久久人综合网小说| 国产在线观看精品| 成人免费淫片aa视频免费| 精品亚洲国产成av人片传媒| 在线观看日韩av| 国产亚洲美女久久| 欧美不卡视频一区发布| 91精品久久久久久久久久久久久久| 欧美成年人网站| 亚洲日韩中文字幕在线播放| 岛国av一区二区在线在线观看| 中文字幕国产亚洲2019| 97激碰免费视频| 国产精品久久久av久久久| 一区二区三区国产在线观看| 亚洲综合日韩在线| 欧美丝袜第一区|