2017-08-27 76 views
0

,我发现,这Python3:Python3:00 + 00 = = 00的作品,但01 + 01 = = 02失败

>>> 00 + 00 == 00 
True 

虽然:

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

为什么第一个示例而第二个失败?如果两者都失败或者两者都工作会更好吗?

+0

因为您可以使用前导零输入'oct'或'hex'的整数,例如'0o71' =='0x39',所以'01' - 它的八进制/十进制/十六进制形式?我不知道,“明确比隐含更好”。 – sKwa

回答

4

Integer literals

注意,在一个非零十进制数前导零是不允许的。 这是为了消除C风格的八进制字面值,在3.0版之前使用Python 。

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

相关问题