我刚刚注意到Python中不允许使用0-padding,我想知道为什么要做出这个选择?
例如:
a = 09
时不起作用
a = 9
确实
怎么样?!
非常感谢您的回答!
答案 0 :(得分:8)
Python,与许多其他语言一样,将以0开头的数字视为octal符号。 09无效为八进制
请参阅python语言参考中的chapter 2.4.4。
答案 1 :(得分:3)
扩展@nos所说的内容:
>>> a = 01
>>> a
1
>>> a = 07
>>> a
7
>>> a = 010
>>> a
8
>>> a = 08
File "<stdin>", line 1
a = 08
^
SyntaxError: invalid token
因此,a = 010
是八进制10
,它是十进制的8.八进制只知道数字0到7.所以这就是为什么这是不可能的。
答案 2 :(得分:2)
这是因为从0开始的数字是八进制数字,八进制数字从0到7!
完全接受a = 07
作为八进制;因此a = 061
会导致a
包含49。