14

整数2有一个__add__方法:

>>> "__add__" in dir(2)
True

...但调用它会引发 SyntaxError:

>>> 2.__add__(3)
  File "<stdin>", line 1
    2.__add__(3)
            ^
SyntaxError: invalid syntax

为什么我不能使用该__add__方法?

4

2 回答 2

21

2.被解析为浮点数,2.__add__SyntaxError 也是如此。

你可以评价

(2).__add__(3)反而。


In [254]: (2).__add__(3)
Out[254]: 5
于 2012-11-15T01:55:35.433 回答
5

绕过2.被解析为浮点数的另一种方法是在 the2和 the之间插入一个空格.

>>> 2 .__add__(3)
5
于 2012-11-15T02:17:33.417 回答