Python內(nèi)置函數(shù)int()用法簡單介紹
int()是Python中的一個內(nèi)置函數(shù),主要用于將其他類型的數(shù)據(jù)轉(zhuǎn)換為整型,本文將從多個方面對其用法進(jìn)行詳細(xì)闡述。
一、基本用法
int()函數(shù)可以將一個帶有數(shù)字的字符串轉(zhuǎn)換為整型。比如:
age = int('18')
上述代碼將字符串'18'轉(zhuǎn)換為整型,并將其賦值給變量age。
此外,int()函數(shù)還可以將其他數(shù)據(jù)類型轉(zhuǎn)換為整型,比如浮點(diǎn)數(shù):
num = int(3.14)
上述代碼將浮點(diǎn)數(shù)3.14轉(zhuǎn)換為整型,并將其賦值給變量num。
二、進(jìn)制轉(zhuǎn)換
int()函數(shù)可以將其他進(jìn)制的數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。例如,將二進(jìn)制數(shù)1101轉(zhuǎn)換為十進(jìn)制數(shù):
num = int('1101', 2) print(num) # 輸出:13
其中,第二個參數(shù)2表示要將字符串'1101'視為二進(jìn)制數(shù)進(jìn)行轉(zhuǎn)換。
同樣地,將十六進(jìn)制數(shù)0x1A轉(zhuǎn)換為十進(jìn)制數(shù):
num = int('1A', 16) print(num) # 輸出:26
其中,第二個參數(shù)16表示要將字符串'1A'視為十六進(jìn)制數(shù)進(jìn)行轉(zhuǎn)換。
三、異常處理
int()函數(shù)在轉(zhuǎn)換時,如果遇到不能轉(zhuǎn)換的數(shù)據(jù)類型,將會拋出異常。因此,我們可以利用該特性進(jìn)行異常處理。
例如,我們可以編寫一個函數(shù),將字符串轉(zhuǎn)換為整型,如果失敗則返回0:
def str_to_int(s): try: return int(s) except: return 0
上述代碼中,我們使用了try-except語句,如果在轉(zhuǎn)換時遇到異常,就返回0。
四、其他用法
除了以上幾種常用的用法,int()函數(shù)還有其他一些用法,例如:
1、將布爾值True轉(zhuǎn)換為整型1,將False轉(zhuǎn)換為整型0:
print(int(True)) # 輸出:1 print(int(False)) # 輸出:0
2、將可迭代對象轉(zhuǎn)換為整型。如果可迭代對象中含有非數(shù)字元素,將會拋出異常:
print(int([1, 2, 3])) # 輸出:123 print(int([1, 2, 'a'])) # 拋出異常
附:Python內(nèi)置函數(shù)int()高級用法
int()函數(shù)可以把實(shí)數(shù)類型轉(zhuǎn)換為整數(shù),并且是向下取整,也就是在數(shù)軸上向左取整,簡單粗暴,有代碼為證:
>>> int(3.6) 3 >>> int(3.4) 3
另外,int()還可以把字符串按照指定的進(jìn)制轉(zhuǎn)換為整數(shù),如果不指定進(jìn)制的話默認(rèn)按十進(jìn)制為準(zhǔn),除非第一個參數(shù)字符串隱含了進(jìn)制并且指定第二個參數(shù)為0,例如:
>>> int('3333') 3333 >>> int('3333', 0) 3333 >>> int('0o333', 0) 219 >>> int('0x3333', 0) 13107
那么int()函數(shù)的第二個參數(shù)除了0還有啥?讓Python內(nèi)置函數(shù)help()來告訴我們(學(xué)Python必備技能,節(jié)選):
>>> help(int) Help on class int in module builtins: class int(object) | int(x=0) -> integer | int(x, base=10) -> integer | | Convert a number or string to an integer, or return 0 if no arguments | are given. If x is a number, return x.__int__(). For floating point | numbers, this truncates towards zero. | | If x is not a number or if base is given, then x must be a string, | bytes, or bytearray instance representing an integer literal in the | given base. The literal can be preceded by '+' or '-' and be surrounded | by whitespace. The base defaults to 10. Valid bases are 0 and 2-36. | Base 0 means to interpret the base from the string as an integer literal.
也就是說,int()函數(shù)的第二個參數(shù)可以是0或者2-36之間的數(shù)字(如果第一個參數(shù)字符串隱含了進(jìn)制的話,要統(tǒng)一起來),例如:
>>> int('1111', 2) 15 >>> int('1111', 3) 40 >>> int('1111', 8) 585 >>> int('1111', 27) 20440
這樣的東西有啥用呢?讓我們來講一個故事:阿凡提與國王比賽下棋,國王說要是自己輸了的話阿凡提想要什么他都可以拿得出來。阿凡提說那就要點(diǎn)米吧,棋盤一共64個小格子,在第一個格子里放1粒米,第二個格子里放2粒米,第三個格子里放4粒米,第四個格子里放8粒米,以此類推,后面每個格子里的米都是前一個格子里的2倍,一直把64個格子都放滿。需要多少粒米呢?當(dāng)然,這個問題用列表推導(dǎo)式或者生成器表達(dá)式很容易計(jì)算。但是,用int()函數(shù)計(jì)算或許是最快的。
>>> int('1'*64, 2) 18446744073709551615
總結(jié)
本文對Python中int()函數(shù)的用法進(jìn)行了詳細(xì)的闡述。除了基本的將字符串和浮點(diǎn)數(shù)轉(zhuǎn)換為整型之外,我們還介紹了如何進(jìn)行進(jìn)制轉(zhuǎn)換、異常處理等高級用法。掌握這些用法可以讓我們在編寫Python程序時更加靈活、高效。
到此這篇關(guān)于Python內(nèi)置函數(shù)int()用法簡單介紹的文章就介紹到這了,更多相關(guān)Python中int()用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3爬蟲爬取英雄聯(lián)盟高清桌面壁紙功能示例【基于Scrapy框架】
這篇文章主要介紹了Python3爬蟲爬取英雄聯(lián)盟高清桌面壁紙功能,結(jié)合實(shí)例形式分析了基于Scrapy爬蟲框架進(jìn)行圖片爬取的相關(guān)項(xiàng)目創(chuàng)建、文件結(jié)構(gòu)、功能實(shí)現(xiàn)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-12-12編寫Python腳本批量下載DesktopNexus壁紙的教程
這篇文章主要介紹了編寫Python腳本批量下載DesktopNexus壁紙的教程,相較于普通的爬蟲抓取,本文的下載壁紙教程還包括了設(shè)置所要下載的分辨率等功能的實(shí)現(xiàn),需要的朋友可以參考下2015-05-05Windows系統(tǒng)中將Python添加到系統(tǒng)環(huán)境詳細(xì)圖文教程
當(dāng)在命令行使用python或pip指令時,可能會遇到pip不是內(nèi)部命令的報錯,這通常是因?yàn)樵诎惭bPython時未將其添加至系統(tǒng)環(huán)境變量,或者有多個Python環(huán)境導(dǎo)致路徑不一致,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下2024-10-10如何在Django項(xiàng)目中引入靜態(tài)文件
這篇文章主要介紹了如何在Django項(xiàng)目中引入靜態(tài)文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07Python使用matplotlib實(shí)現(xiàn)交換式圖形顯示功能示例
這篇文章主要介紹了Python使用matplotlib實(shí)現(xiàn)交換式圖形顯示功能,結(jié)合實(shí)例形式詳細(xì)分析了Python基于matplotlib模塊的數(shù)值運(yùn)算與圖形繪制相關(guān)操作技巧,需要的朋友可以參考下2019-09-09pandas如何實(shí)現(xiàn)兩個dataframe相減
這篇文章主要介紹了pandas如何實(shí)現(xiàn)兩個dataframe相減方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02