以下两行都将输出12:
打印int(12)
打印int(“ 012”)
为什么以下打印10?
打印int(012)
这是一个八进制(以8为底)的数字文字,Python 2本机(尽管令人困惑)与十六进制(例如0x1C
)一起支持该文字。但是,默认情况下,所有数字均以十进制打印,因此您将获得返回给您的该整数的十进制(以10为底)版本:
(1 * 8) + (2 * 1) = 10
$ python2 -c "print 012"
10
请注意,在Python 3中,这已更改:
$ python3 -c "print(010)"
File "<string>", line 1
print(010)
^
SyntaxError: invalid token
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句