关于python赋值的问题

如下
a=07
print a
结果是7
a=08 和 a=09 却无法成功赋值
a=010
print a
结果是8
问题:为什么不能对a赋值成09或者08?(只要是赋值成0开头的,有8与9在其中都不能成功赋值)

0b[0-1]* : 2进制数据表示方式
0[0-7]* : 8进制数据表示方式
0x[0-9A-F]* : 16进制数据表示方式追问

额,我觉得应该不是进制问题吧?如果我输入a=00007 print a依然可以是7; a=021的话 print 结果是17

追答

8进制体系下的7 == 10进制体系下的7,
8进制体系下的21 == 10进制体系下的17 (2*8+1 = 17)

温馨提示:答案为网友推荐,仅供参考
相似回答