我遇到了一件很奇怪的事情,至少對我來說。很奇怪:如果x沒聲明Python 2.7
if month not in (02, 04, 06, 11):
print "Good"
每當我添加09
的元組我得到所謂的錯誤:SyntaxError: invalid token
而且只有這個特殊號碼。
有什麼想法嗎?
我遇到了一件很奇怪的事情,至少對我來說。很奇怪:如果x沒聲明Python 2.7
if month not in (02, 04, 06, 11):
print "Good"
每當我添加09
的元組我得到所謂的錯誤:SyntaxError: invalid token
而且只有這個特殊號碼。
有什麼想法嗎?
當您在某個數字上使用前導0
時,Python會將其解釋爲a base-8 (octal) number。刪除前導0
:
>>> 10
10
>>> 010
8
>>> 9
9
>>> 09
File "<stdin>", line 1
09
^
SyntaxError: invalid token
Python 3在此方面進行了改進; 所有號碼與一家領先的0
被認爲是無效現在,創建一個八進制數你總是必須使用0o
前綴改爲:
>>> 010
File "<stdin>", line 1
010
^
SyntaxError: invalid token
>>> 0o10
8
數字與領先0
s被認爲八進制,所以09
無效......剛落0的
我認爲你需要它可能將其解釋爲一個八進制數數字之前擺脫零...
其實 - 我想我已經看到了這個兩兩三次,最近 - 也許它添加到我們的常見問題列表。) –
我可以想像;觸發然後誤解是一件容易的事情。 –