int()方法从任何数字或字符串返回整数对象。
int()方法的语法为:
int(x=0, base=10)
int()方法采用两个参数:
x-要转换为整数对象的数字或字符串。
默认参数为零。
base-x中数字的基数。
可以是0(代码字面量)或2-36。
int()方法返回:
给定数字或字符串中的整数对象,将默认基数视为10
(无参数)返回0
(如果指定了基数)则以指定的基数(0、2、8、10、16)处理字符串
# 整数 print("int(123) 是:", int(123)) # 浮点 print("int(123.23) 是:", int(123.23)) # 字符串 print("int('123') 是:", int('123'))
运行该程序时,输出为:
int(123) 是: 123 int(123.23) 是: 123 int('123') 是: 123
# 二进制0b或0B print("对于1010,int是:", int('1010', 2)) print("对于0b1010,int为:", int('0b1010', 2)) # 八进制0o或0O print("对于12,int为:", int('12', 8)) print("对于0o12,int为:", int('0o12', 8)) # 十六进制 print("对于A, int为:", int('A', 16)) print("对于0xA,int为:", int('0xA', 16))
运行该程序时,输出为:
对于1010,int是: 10 对于0b1010,int为: 10 对于12,int为: 10 对于0o12,int为: 10 对于A, int为: 10 对于0xA,int为: 10
在内部,int()方法调用对象的__int __()方法。
因此,即使一个对象不是数字,也可以将其转换为整数对象。
您可以通过重写该类的__index __()和__int __()方法来返回数字来实现。
这两个方法应返回相同的值,因为旧版本的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))
运行该程序时,输出为:
int(person) 是: 23