在Python中存储前导零的整数

时间:2013-09-22 20:44:44

标签: python python-2.7

当我将带有前导零的整数存储到变量中时,为什么Python表现得很奇怪?一个错误,而另一个错误地存储值?

>>> zipcode = 02492
SyntaxError: invalid token

>>> zipcode = 02132
>>> zipcode
1114

2 个答案:

答案 0 :(得分:5)

以0开头的数字被解释为octal numbers

In [32]: oct(1114)
Out[32]: '02132'

In [33]: int('2132', 8)
Out[33]: 1114

In [34]: 02132 == 1114
Out[34]: True

请注意in Python3,八进制文字必须使用前导0o0O指定,而不是0

答案 1 :(得分:3)

具有前导零的

int文字被解释为八进制,其中9不是有效数字。只有在[0, 7]范围内的数字形成的数字才是有效的八进制数。