Por que não posso chamar métodos diretamente em objetos int? [duplicado]
Duplicata Possível:
acessando métodos literais de python int
O literal inteiro é um objeto em Python?
Em python é possível, e às vezes até comum, chamar métodos ou procurar atributos diretamente em literais:
>>> "-".join("abc")
'a-b-c'
>>> {1: 3, 2: 9}.pop(1)
3
>>> 3j.imag
3.0
>>> 8.0.__add__(8)
16.0
Mas por algum motivo isso não funciona em objetos inteiros:
>>> 3.__add__(42)
File "<stdin>", line 1
3.__add__(42)
^
SyntaxError: invalid syntax
Por que não?