为什么Python中的08或09无效?[重复]


问题内容

这个问题已经在这里有了答案

在Python中以0开头的数字是什么意思? (9个答案)

Python:无效令牌 (3个答案)

6年前关闭。

在Python解释器,08并且09似乎无效。例:

>>> 01
1
>>> 02
2
>>> 03
3
>>> 04
4
>>> 05
5
>>> 06
6
>>> 07
7
>>> 08
  File "<stdin>", line 1
    08
     ^
SyntaxError: invalid token
>>> 09
  File "<stdin>", line 1
    09
     ^
SyntaxError: invalid token

如您所见,只有08并且09似乎无效。这些是特殊值还是什么?


问题答案:

前导零的数字被解释为八进制文字。因此8和9在八进制无效。仅数字0到7是有效的。

尝试翻译:

>>> 011
9
>>> 012
10
>>> 013
11