Я играл с интерпретатором Python (Python 3.2.3) и пробовал следующее:
>>> dir(1)
Это дало мне все атрибуты и методы объекта int. Затем я попытался:
>>> 1.__class__
Однако это заставило исключение:
File "<stdin>", line 1
1.__class__
^
SyntaxError: invalid syntax
Когда я пробовал то же самое с поплавком, я получил то, что ожидал:
>>> 2.0.__class__
<class 'float'>
Почему литералы int
и float
ведут себя по-другому?