假设我在Python 3中有一个基本类,它代表一些类似数字的数据类型。我希望这样做,当我有一个这个类的实例,我可以调用int(x)并让它调用我的转换函数来返回整数部分。
我确信这很简单,但我似乎无法找到如何做到这一点。
答案 0 :(得分:17)
根据以下示例覆盖__int__
魔术方法......
class Test:
def __init__(self, i):
self.i = i
def __int__(self):
return self.i * 2
t = Test(5)
print( int(t) )
# 10
答案 1 :(得分:7)
覆盖__int__()
方法。