2014-09-05 23 views
2

其實我是Python的初學者。我只是想知道爲什麼python給出了從0(非單個數字)開始的整數的打印錯誤爲什麼Python將0作爲字符串開始非單個數字?

例如,如果我在整數類型09然後上印刷它給錯誤

SyntaxError: invalid token 
+0

因爲Python認爲你正在創建一個八進制數;在Python 3中,這總是一個錯誤,在Python 2中,像07這樣的八進制數字可以工作。 – 2014-09-05 13:22:22

回答

2

0在數字文本的開頭是用來告訴蟒使用哪個鹼,例如:0×12。

使用09您在八進制數中表示9,但9在該基數中不是有效數字,因此是錯誤。

+0

不,在Python 2中,'07'是有效的,但解釋爲八進制。 – 2014-09-05 13:23:42

+0

@MartijnPieters我正在擴大答案。同樣的情況,以'0'開頭的數值字面表示給定基數中的數字文字,例如八進制'0d'和十六進制'0xd',其中d是在該基數中表示的值。 – 2014-09-05 13:28:04

相關問題