在 python 中,直接在文字上调用方法或查找属性是可能的,有时甚至是常见的:
>>> "-".join("abc")
'a-b-c'
>>> {1: 3, 2: 9}.pop(1)
3
>>> 3j.imag
3.0
>>> 8.0.__add__(8)
16.0
但由于某种原因,这不适用于整数对象:
>>> 3.__add__(42)
File "<stdin>", line 1
3.__add__(42)
^
SyntaxError: invalid syntax
为什么不?