Python3:00 + 00 == 00有效,但01 + 01 == 02失败

时间:2017-08-27 02:08:44

标签: python python-3.x leading-zero

我在Python3中找到了这个:

>>> 00 + 00 == 00
True

虽然:

>>> 01 + 01 == 02
    File "<input>", line 1
01 + 01 == 02
 ^
SyntaxError: invalid token

为什么第一个例子有效,而第二个例子失败?如果两者都失败或两者都有效,那不是更好吗?

1 个答案:

答案 0 :(得分:4)

来自Integer literals

  

请注意,不允许使用非零十进制数的前导零。   这是为了消除C语言的八进制文字,这是Python   在3.0版之前使用。

您可以阅读词法定义以了解解析整数文字的规则。