Доступ к атрибутам литералов работает для всех типов, но не для `int`; Зачем? [Дубликат]
This question already has an answer here:
Why is “1.real” a syntax error but “1 .real” valid in Python? 3 answersЯ прочитал, что все в Python является объектом, и поэтому я начал экспериментировать с различными типами и вызывая__str__
на них & # x2014; Сначала я чувствовал себя очень взволнованным, но потом я запутался.
>>> "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
Why does something.__str__()
work for "everything" besides int
?
Is 123
not an object of type int
?