我遇到了以下问题:
如您所料:
>>> [01,02,03]
[1, 2, 3]
将多余0
的加到整数的前面会得到整数N
的数学等价物0N
,即N
。
但是,当我这样做时:
>>> [030, 031, 031, 031, 030, 031, 031, 032, 031, 032]
[24, 25, 25, 25, 24, 25, 25, 26, 25, 26]
事实证明,这个概念是完全错误的。我试图通过检查是否030
是 int 来找出为什么会这样:
>>> type(030)
<type 'int'>
然后我想也许是,030
被评估为24
,然后它变成了type(24)
. 所以我想看看发生了什么dis
可能会有所帮助:
>>> dis.dis('n=030')
0 JUMP_FORWARD 12349 (to 12352)
3 DELETE_SLICE+1
4 <48>
>>> dis.dis('n=30')
0 JUMP_FORWARD 13117 (to 13120)
3 <48>
这无助于弄清楚为什么会发生这种行为。那么,这种行为背后的原因是什么?
根据标题:
>>> 030 == 24
True