IDLE以一种奇怪的方式处理数字输入(python 2.6)

IDLE以一种奇怪的方式处理数字输入(python 2.6),python,syntax,Python,Syntax,如果您只需在空闲解释器中给出的>提示后键入一个整数,大多数情况下,它只会将数字反弹给您 >>> 3 3 >>> 8 8 >>> 10 10 但是,在启动nubmer时使用0,会出现一些有趣的错误 >>> 010 8 >>> 020 16 在Python 2中,以0开头的整数文字被视为八进制,即以8为基数。很明显,10月=8月(或者一般来说,b底10月=b底10月)。同样,10月12日=12月10日,依此

如果您只需在空闲解释器中给出的
>
提示后键入一个整数,大多数情况下,它只会将数字反弹给您

>>> 3
3
>>> 8
8
>>> 10
10
但是,在启动nubmer时使用0,会出现一些有趣的错误

>>> 010
8
>>> 020
16

在Python 2中,以0开头的整数文字被视为八进制,即以8为基数。很明显,10月=8月(或者一般来说,b底10月=b底10月)。同样,10月12日=12月10日,依此类推。

。。。在Python3中进行了更改:必须使用Python2.6中引入的八进制文字的“0o…”形式()因此出现了一个老笑话:Q。程序员为什么要在万圣节庆祝圣诞节?因为12月25日=10月31日。