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.はfloatとして解析されるため2.__add__、SyntaxErrorも解析されます。

あなたは評価することができます

(2).__add__(3)代わりは。


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

float として解析されることを回避する別の方法は、と の2.間にスペースを挿入することです。2.

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