__radd__(self,other)问题求助
在看小甲鱼的课程,遇到这样一个例子:>>> class Nint(int):
def __radd__(self,other):
return __sub__(self,other)
>>> a = Nint(5)
>>> b = Nint(6)
>>> a + b
11
return的明明是sub,为什么还是两个数相加呢?求解答! 首先,代码没打对,应该为
class Nint(int):
def __radd__(self,other):
return int.__sub__(other,self)
其次a对象默认有__add__()方法,所以b的__radd__()没有执行
>>> a=Nint(5)
>>> b=Nint(6)
>>> a+b
11
1+b的话会执行
>>> 1+b
-5
页:
[1]