2

Python は、08 または 09 以外の任意の数字の先行ゼロを受け入れることができるようです。たとえば、

a = 04

インタプリタで動作しますが、

a = 08

戻り値

SyntaxError: invalid token

OSXでpython 2.7.3を使用していますが、他の人はエラーを複製できました。何を与える?

4

2 に答える 2

11

先頭に 0 がある数値は 8 進数として解釈され、数字8と桁9が存在しません。

Python 3 ではさらに悪いことに、使用する数字に関係なく、先行ゼロは構文エラーです。「新しい 8 進リテラル」の下の Python 3.0 の新機能を参照してください。PEP 3127も。

于 2013-03-14T20:17:22.030 に答える
2

数値を0で始めると、Pythonはそれを8進数と見なします。したがって、そうですが、8進数04は10進数04と同じですが、8進数08は存在しません(8進数は[0,7]の範囲にしか存在できないため)。

ここで見つかりました:Python:無効なトークン

于 2013-03-14T20:17:23.467 に答える