我想重新定义__add__
方法,int
以便使用如下:
>> 1+2
=> "1 plus 2"
>> (1).__add__(2)
=> "1 plus 2"
我试过这个:
>>> int.__add__ = lambda self, x: str(self)+" plus " + str(x)
但是,它会引发异常:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't set attributes of built-in/extension type 'int'
有没有人知道为什么我不能重新定义这样的__add__
方法?还有其他方法吗?