整数2
有一个__add__
方法:
>>> "__add__" in dir(2)
True
...但是调用它会引发一个SyntaxError:
>>> 2.__add__(3)
File "<stdin>", line 1
2.__add__(3)
^
SyntaxError: invalid syntax
为什么我不能使用__add__
方法?
答案 0 :(得分:20)
2.
被解析为float,因此2.__add__
是一个SyntaxError。
您可以评估
(2).__add__(3)
代替。
In [254]: (2).__add__(3)
Out[254]: 5
答案 1 :(得分:5)
另一种解析2.
被解析为浮点数的方法是在2
和.
之间插入一个空格
>>> 2 .__add__(3)
5