2016-03-02 92 views
1

我觀察到這種奇怪的行爲,同時試圖分配一個整數值的變量。什麼是可能的解釋?python值賦值錯誤(whats錯誤08,09)

>>> a = 01 
>>> a = 02 
>>> a = 03 
>>> a = 04 
>>> a = 05 
>>> a = 06 
>>> a = 07 
>>> a = 08 
    File "<stdin>", line 1 
    a = 08 
     ^
SyntaxError: invalid token 
>>> a = 09 
    File "<stdin>", line 1 
    a = 09 
     ^
SyntaxError: invalid token 

我使用python 2.7.6,gcc 4.8.2。

回答

2

從0開始的數字是八進制文字

8是一個無效的八進制數字,所以08沒有意義。同上09.

丟棄前導零,即使它們確實讓您的源代碼看起來很漂亮。

3

08octal10十進制。寫010

01 == 1 
02 == 2 
# ... 
07 == 7 
010 == 8 
011 == 9 
012 == 10 
# ... 
017 == 15 
020 == 16 
+0

哦......老C符號。 – vvy

+0

我所知道的每種編程語言都使用這種符號表示八進制數。你會怎麼做? – 2016-03-02 12:39:43

+0

VBA沒有出於興趣。 – Bathsheba