📅  最后修改于: 2020-09-20 04:12:23             🧑  作者: Mango
int()
方法的语法为:
int(x=0, base=10)
int()
方法采用两个参数:
zero
。 int()
方法返回:
# integer
print("int(123) is:", int(123))
# float
print("int(123.23) is:", int(123.23))
# string
print("int('123') is:", int('123'))
输出
int(123) is: 123
int(123.23) is: 123
int('123') is: 123
# binary 0b or 0B
print("For 1010, int is:", int('1010', 2))
print("For 0b1010, int is:", int('0b1010', 2))
# octal 0o or 0O
print("For 12, int is:", int('12', 8))
print("For 0o12, int is:", int('0o12', 8))
# hexadecimal
print("For A, int is:", int('A', 16))
print("For 0xA, int is:", int('0xA', 16))
输出
For 1010, int is: 10
For 0b1010, int is: 10
For 12, int is: 10
For 0o12, int is: 10
For A, int is: 10
For 0xA, int is: 10
在内部, int()
方法调用对象的__int__()
方法。
因此,即使一个对象不是数字,也可以将其转换为整数对象。
您可以通过重写__int__()
__index__()
和__int__()
方法来返回数字来实现。
这两个方法应该返回相同的值,这与旧版本的Python使用__int__()
,而新版本使用__index__()
方法一样。
class Person:
age = 23
def __index__(self):
return self.age
def __int__(self):
return self.age
person = Person()
print('int(person) is:', int(person))
输出
int(person) is: 23