在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
似乎无法正常工作。这些特殊值是什么?
答案 0 :(得分:12)
具有前导零的数字被解释为八进制文字。所以8和9在八进制中是无效的。只有数字0到7才有效。
尝试翻译:
>>> 011
9
>>> 012
10
>>> 013
11
答案 1 :(得分:2)
如果数字以0开头,则表示它是八进制数字:
>>> 010
8
答案 2 :(得分:0)
在Python(以及许多其他C源语言)中,前导0(以及越来越多的前导0O)表示该数字是八进制,而不是十进制。有关详细信息,请参阅https://docs.python.org/2/reference/lexical_analysis.html#integer-and-long-integer-literals。
例如,对于踢球,请参阅010评估的内容。