为什么像01这样的数字在python交互模式下会出现语法错误

Pra*_*esh 5 python syntax-error python-3.x

为什么一个数字01会在python交互模式下键入并按下回车时出现语法错误01

00输入解释计算结果为0,但像数字01,001或任何其与开始0进入语法错误:无效令牌显示.

输入1,000提示符评估为元组,(1,0)1,001不评估,(1,1)而是显示语法错误.

为什么Python解释器的行为如此?

NPE*_*NPE 11

从历史上看,以零开头的整数文字表示八进制数.这已在Python 3中废除,并替换为不同的语法(0o...).

除非数字完全由零组成,否则不再接受旧语法:

Python 3.3.0 (default, Dec  1 2012, 19:05:43) 
>>> 0
0
>>> 00
0
>>> 01
  File "<stdin>", line 1
    01
     ^
SyntaxError: invalid token
Run Code Online (Sandbox Code Playgroud)

  • +1,以及指向文档的链接:http://www.python.org/dev/peps/pep-3127/#removal-of-old-octal-syntax (3认同)