【发布时间】:2015-04-16 04:32:59
【问题描述】:
这听起来有点愚蠢,但我不是在谈论1 + 2 = 2 + 1。我正在谈论将具有__add__ 方法的对象添加到数字的位置。一个例子是:
>>> class num:
... def __add__(self,x):
... return 1+x
...
>>> n = num()
>>> 1+n
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'instance'
>>> n+1
2
>>>
我不明白为什么第一个返回错误而第二个工作正常
【问题讨论】: