解码 Python 中神秘的“0”前导数字
当您在 Python 2.7.3 中输入带有前导零的小整数时,它们会产生意想不到的结果,例如:
>>> 011 9 >>> 0100 64 >>> 027 23
这个怪癖源于Python的方式解释以“0”为前缀的数字。在 Python 2.x 中,这些数字被视为八进制(以 8 为基数)整数。
揭开八进制数
在八进制数字系统中,每个数字代表 的幂8. 例如:
Python 3现代方法
与 Python 2.7.3 不同,Python 3.0 不会将前导“0”的数字识别为八进制整数,而是会引发错误。要在 Python 3 中表示八进制数,必须使用“0o”前缀,例如:
>>> 0o11 9 >>> 0o100 64 >>> 0o27 23
Python 2.x 中的旧版支持
Python 2。 x 版本 >= 2.6 支持八进制的旧格式(前导“0”)和新格式(前导“0o”)数字,提供向后兼容性。
以上是为什么 Python 2.x 将带前导零的数字解释为八进制?的详细内容。更多信息请关注PHP中文网其他相关文章!