2009-12-03 9 views
39

を使用しているとき、私はPythonで初心者だと私は私のスクリプトで進数を使用しようとしているが、私はそれをしようとすると、それは私にそのエラーを返します:無効なトークン8進数

>>> a = 010 
SyntaxError: invalid token (<pyshell#0>, line 1) 
>>> 01 
SyntaxError: invalid token (<pyshell#1>, line 1) 

あります私のコードに何か問題がありますか?私はPython3を使用しています(そしてPython 2.2の本を読んでいます)

+0

、と言います。 http://shell.appspot.comで同じことを試してみて、同じエラーが発生していないかどうかを確認してください。 –

答えて

58

Try 0o10は、python 3、またはpyshell自体の可能性があります。

PEPはPythonインストールまたは使用しているシェルに何か問題があるかもしれません

octal literals must now be specified with a leading "0o" or "0O" instead of "0";

http://www.python.org/dev/peps/pep-3127/

+12

私はすべての言語でこれが8進数に必要であることを望みます。どのように愚かなリード0を使用していた:今私たちは0sNNN(sexagesimal)のためのサポートを取得し、私たちのコードにベース64の数字を置くことができます。 –

+2

マジック定数の可能性について考えてみましょう。 "0xdeadbeef"などにはもはや制約されていません。o –

+0

S.Markに感謝します。 "Oo"を使っても問題ありません。 – Rafael

関連する問題