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