По всей вероятности, это глупый вопрос, но мне было интересно, почему python не может сделать целое число из строки, которая на самом деле является числом с плавающей точкой.Python int() строки, которая является числом с плавающей запятой
>>> int(1.0)
1
>>> int(float('1.0'))
1
Но
>>> int('1.0')
Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
int('1.0')
ValueError: invalid literal for int() with base 10: '1.0'
Может кто-нибудь пояснить, почему это не может сделать за один шаг?
Вы уверены, что это касается? Вы цитируете правила синтаксиса Python, которые не соответствуют точно тем аргументам, которые принимает функция 'int'. – Kos
@Kos Я цитирую, что такое целочисленный литерал. 'int' принимает либо число, либо объект string/unicode, который представляет собой цельный литерал ** – dmg
Спасибо, я прочитал, и это действительно то, что говорят документы. – Kos