【发布时间】:2021-03-23 13:43:54
【问题描述】:
整数2 有一个__add__ 方法:
>>> "__add__" in dir(2)
True
...但调用它会引发 SyntaxError:
>>> 2.__add__(3)
File "<stdin>", line 1
2.__add__(3)
^
SyntaxError: invalid syntax
为什么我不能使用__add__ 方法?
【问题讨论】:
-
这个主题的变体是这里比较常见的问题。这很有趣,虽然我真的看不出你为什么要这样做,而不仅仅是
2 + 3。 -
@mgilson:
(2).__add__可以用作“加二”功能,而不是lambda x: x+2。 -
@unutbu -- 有趣。我想这将是一个聪明的(不太容易阅读?)的方式来做到这一点......不过这是一个好点。我想我会在未来寻找它!
-
@unutbu:我宁愿使用
functools.partial(operator.add, 2)。 -
@MartijnPieters:你是根据什么做出这个选择的?
标签: python methods int syntax-error