Сравнение строк: продолжение
Даже если строка содержит только цифры, она все равно не является числом. Она интерпретируется как есть, как любая другая обычная строка, и ее (потенциальный) числовой аспект никак не учитывается.
Посмотрите на примеры:
'10' == '010'
'10' > '010'
'10' > '8'
'20' < '8'
'20' < '80'
Они дают следующий результат:
False
True
False
True
True
output
Сравнение строк с числами - плохая идея.
Единственные сравнения, которые Вы можете выполнять безнаказанно, - это операторы ==
и !=
. Первый всегда дает False
, а второй всегда выдает True
.
Использование любого из оставшихся операторов сравнения вызовет исключение TypeError.
Давайте проверим это:
'10' == 10
'10' != 10
'10' == 1
'10' != 1
'10' > 10
Результаты:
False
True
False
True
TypeError exception
output
Запустите все примеры и проведите еще несколько экспериментов.