假设我想在Python类中覆盖函数,比如
我希望在这里输出“1”,而不是产生这个错误消息
“int()”类型错误:参数必须是字符串或数字,而不是“A”。
当__int__变成类内置的方法时,它按预期工作。为什么? (这个问题也存在于任何双下划线函数中)
__int__
,以便我可以像这样做某些操作。class A(object):
def __init__(self):
self.__int__ = lambda: 1
a = A()
print int(a)
我希望在这里输出“1”,而不是产生这个错误消息
“int()”类型错误:参数必须是字符串或数字,而不是“A”。
当__int__变成类内置的方法时,它按预期工作。为什么? (这个问题也存在于任何双下划线函数中)