Python не может обработать строку чисел, начинающуюся с 0. Почему?
Я только что выполнил следующую программу на моем интерпретаторе Python:
>>> def mylife(x):
... if x>0:
... print(x)
... else:
... print(-x)
...
>>> mylife(01)
File "<stdin>", line 1
mylife(01)
^
SyntaxError: invalid token
>>> mylife(1)
1
>>> mylife(-1)
1
>>> mylife(0)
0
Теперь я виделэто но, как говорит ссылка, 0 для восьмеричного больше не работает в python (то есть не работает в python3). Но не значит ли это, что поведение чисел, начинающихся с 0, следует правильно интерпретировать? Либо в base-2, либо в обычном представлении base-10? Так как это не так, почему Python ведет себя так? Это проблема реализации? Или это семантическая проблема?