Python3: 00 + 00 == 00 работает, но 01 + 01 == 02 не работает
Я нашел это в Python3:
>>> 00 + 00 == 00
True
В то время как:
>>> 01 + 01 == 02
File "<input>", line 1
01 + 01 == 02
^
SyntaxError: invalid token
Почему первый пример работает, а второй не работает? Разве не должно быть лучше, если оба провалились или оба сработали?
1 ответ
Обратите внимание, что начальные нули в ненулевом десятичном числе не допускаются. Это для устранения неоднозначности с восьмеричными литералами в стиле C, которые Python использовал до версии 3.0.
Вы можете прочитать лексические определения, чтобы понять правило для анализа целочисленных литералов.