假设我想重写一个__int__
Python 类中的函数,这样我就可以做这样的事情。
class A(object):
def __init__(self):
self.__int__ = lambda: 1
a = A()
print int(a)
我希望它会在此处输出“1”而不是产生此错误消息
TypeError:int() 参数必须是字符串或数字,而不是“A”
相反,当__int__
它成为类中内置的方法时,它会按预期工作。为什么?(这个问题也存在于任何双下划线函数中)