为什么没有2 .__添加__(3)在Python的工作?为什么没有2 .__添加__(3)在Pyth

2019-05-12 06:52发布

整数2具有__add__方法:

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

......但调用它提出了一个语法错误:

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

为什么我不能用__add__方法?

Answer 1:

2.被解析为一个浮点数,所以2.__add__是一个SyntaxError。

您可以评估

(2).__add__(3)来代替。


In [254]: (2).__add__(3)
Out[254]: 5


Answer 2:

另一种方式来解决2.被解析为浮动是对之间插入空格2.

>>> 2 .__add__(3)
5


文章来源: Why doesn't 2.__add__(3) work in Python?