int()方法從任何數(shù)字或字符串返回整數(shù)對象。
int()方法的語法為:
int(x=0, base=10)
int()方法采用兩個(gè)參數(shù):
x-要轉(zhuǎn)換為整數(shù)對象的數(shù)字或字符串。
默認(rèn)參數(shù)為零。
base-x中數(shù)字的基數(shù)。
可以是0(代碼字面量)或2-36。
int()方法返回:
給定數(shù)字或字符串中的整數(shù)對象,將默認(rèn)基數(shù)視為10
(無參數(shù))返回0
(如果指定了基數(shù))則以指定的基數(shù)(0、2、8、10、16)處理字符串
# 整數(shù) print("int(123) 是:", int(123)) # 浮點(diǎn) print("int(123.23) 是:", int(123.23)) # 字符串 print("int('123') 是:", int('123'))
運(yùn)行該程序時(shí),輸出為:
int(123) 是: 123 int(123.23) 是: 123 int('123') 是: 123
# 二進(jìn)制0b或0B print("對于1010,int是:", int('1010', 2)) print("對于0b1010,int為:", int('0b1010', 2)) # 八進(jìn)制0o或0O print("對于12,int為:", int('12', 8)) print("對于0o12,int為:", int('0o12', 8)) # 十六進(jìn)制 print("對于A, int為:", int('A', 16)) print("對于0xA,int為:", int('0xA', 16))
運(yùn)行該程序時(shí),輸出為:
對于1010,int是: 10 對于0b1010,int為: 10 對于12,int為: 10 對于0o12,int為: 10 對于A, int為: 10 對于0xA,int為: 10
在內(nèi)部,int()方法調(diào)用對象的__int __()方法。
因此,即使一個(gè)對象不是數(shù)字,也可以將其轉(zhuǎn)換為整數(shù)對象。
您可以通過重寫該類的__index __()和__int __()方法來返回?cái)?shù)字來實(shí)現(xiàn)。
這兩個(gè)方法應(yīng)返回相同的值,因?yàn)榕f版本的Python使用__int __(),而較新的Python使用__index __()方法。
class Person: age = 23 def __index__(self): return self.age def __int__(self): return self.age person = Person() print('int(person) 是:', int(person))
運(yùn)行該程序時(shí),輸出為:
int(person) 是: 23