2014-10-17 30 views
7

在Python解釋器中,0809似乎無效。例如:爲什麼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 

正如你所看到的,只有0809似乎並不管用。這些特殊的價值或東西?

+2

它是八進制符號。還有幾百個問題的副本......請在提問之前做一些努力搜索,我從字面上搜索了'python 08'並獲得了來自SO的多個相關結果。 – l4mpi 2014-10-17 11:25:14

+0

它們是八進制的。 http://stackoverflow.com/questions/11620151/what-do-numbers-starting-with-0-mean-in-python – 2014-10-17 11:25:19

回答

10

帶前導零的數字被解釋爲八進制文字。所以8和9在八進制中是無效的。只有數字0到7有效。

嘗試解釋:

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

如果一個數字從0開始,這意味着它是一個八進制數:

>>> 010 
8 
相關問題