Когда вы пишите программу python, строки должны быть помещены внутри кавычек, чтобы синтаксический анализатор знал, что они являются строками. Итак, вы печатаете
>>> time = 5:30
File "<stdin>", line 1
time = 5:30
^
SyntaxError: invalid syntax
>>>
>>> time = '5:30'
>>>
Но python действительно не сохраняет сами кавычки в строке. Он создает объект типа str
, значение которого равно 5:30
. Когда вы печатаете строку, она печатает значение, а не цитированное представление, необходимое для работы парсера python.
Объекты Python имеют два способа отображения самих себя. __str__
возвращает ожидаемую удобочитаемую строку, а __repr__
возвращает строку, удобную для программирования, которая обычно включает информацию о типе. Для строки он включает в себя кавычки. Если вы действительно хотите, котировки по какой-то причине, вы можете использовать repr
>>> time = '5:30'
>>> print(time)
5:30
>>> print(type(time))
<class 'str'>
>>> print(repr(time))
'5:30'
>>>
'5: 30' не является целым числом. – corn3lius
цитаты не являются частью строки, '5: 30' не является int – depperm