为什么00100在Python中等于64?
为什么在下面的Python代码中,00100
等于64
呢?
>>> i = 00100
>>> i
64
>>> type(00100)
<type 'int'>
>>> str(00100)
'64'
>>> str("00100")
'00100'
>>> int(str("00100"))
100
>>>
3 个回答
1
这是八进制数。http://en.wikipedia.org/wiki/Octal
在八进制中,1是01,2是02,...,7是07,8是10(没错!),9是011,等等。
2
在Python(还有其他编程语言)中,如果一个数字前面有0,它会被当作一个八进制数来理解。
9
这是一个八进制的数,因为它前面有零。
http://www.translatorscafe.com/cafe/units-converter/numbers/calculator/octal-to-decimal/
^计算器(很难简单总结)