在普通数学符号中,前导零与非小数部分无关紧要。
例如
00003123 = 3123
031 + 2 = 33
但是,在python 3中,如果我尝试执行类似的操作,则会发现没有意义的有趣结果。 如果数字用一个/很多前导零表示,Python中会发生什么?
Python中的示例示例
>>> 00003123
1619
>>> 031+2
27
Python 2中以零开头的文字为八进制。例如,八进制31是以10为底的25。
有关更完整的答案,请参见What do numbers starting with 0 mean in python?
前导0使Python将数字解释为八进制(以8为底数,因此以8为底的31实际上是以10为底的25]
3 x 512 + 1 x 64 + 2 x 8 + 3 = 1619
3 x 8 + 1 + 2 = 27
这是八进制表示形式,现在已经过时了。最好使用十六进制。