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
今、私はこれを見ましたが、リンクが言うように、8 進数の 0 は Python ではもう機能しません (つまり、python3 では機能しません)。しかし、それは、0 で始まる数値の振る舞いを適切に解釈する必要があるということではないでしょうか? 基数 2 または通常の基数 10 表現のどちらか? そうではないのに、なぜ python はそのように振る舞うのでしょうか? 実装の問題ですか?それともセマンティックの問題ですか?