重複の可能性:
Python int リテラル メソッドへのアクセス
Integer リテラルは Python のオブジェクトですか?
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
なぜだめですか?