我们说我有一个类A
,如此:
class A:
def __init__(self):
self.a = a
def __add__(self, other):
return other + 1
然后,我在控制台中运行以下代码:
>>> a = A()
>>> a.a
<<< 1
>>> setattr(a, 'a', 2)
>>> a.a
<<< 2
>>> a + 2
<<< 3
>>> setattr(a, '__add__', lambda s, o: o - 1)
>>> a + 2
<<< 3
有没有办法改变像这样的类函数?
请注意,它适用于非__
函数,但有趣的是,如果我将其设置为函数f
,则该函数不应将self
作为参数