以下两行将打印出12:
print int(12)
print int(“012”)
为什么以下打印10?
print int(012)
答案 0 :(得分:4)
它是一个octal (base 8)数字文字,Python 2本身支持(虽然容易引起混淆)以及十六进制(例如0x1C
)。但是,默认情况下,所有数字都是打印的十进制数,因此您将获得返回给您的该整数的十进制(基数为10)版本:
(1 * 8) + (2 * 1) = 10
$ python2 -c "print 012"
10
$ python3 -c "print(010)"
File "<string>", line 1
print(010)
^
SyntaxError: invalid token