Dostęp do atrybutów literałów działa na wszystkich typach, ale nie na `int`; czemu? [duplikować]

To pytanie ma już tutaj odpowiedź:

Dlaczego „1.real” to błąd składniowy, ale „1 .real” jest ważny w Pythonie? 3 odpowiedzi

Czytałem, że wszystko w Pythonie jest obiektem i jako taki zacząłem eksperymentować z różnymi typami i wywoływać__str__ na nich - na początku czułem się naprawdę podekscytowany, ale potem byłem zdezorientowany.

>>> "hello world".__str__()
'hello world'
>>> [].__str__()
'[]'
>>> 3.14.__str__()
'3.14'
>>> 3..__str__()
'3.0'
>>> 123.__str__()
  File "<stdin>", line 1
    123.__str__()
              ^
SyntaxError: invalid syntax
Dlaczegosomething.__str__() pracuj dla „wszystkiego” poza tymint?Jest123 nieobiekt typuint?

questionAnswers(4)

yourAnswerToTheQuestion