首页 > 解决方案 > Python3.8:十进制整数文字中的前导零是不允许的;对八进制整数使用 0o 前缀

问题描述

在 Python 3.8 中,是否有原因0000000003产生错误时有效?

>>> 000
0

03
  File "<stdin>", line 1
    03
     ^
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

标签: pythonpython-3.8

解决方案


是的。Python 的常量派生自 C,其中以 0 开头的整数被解释为八进制。因此,0377具有十进制值 255。随着时间的推移,Python 已更改为0o前缀,但 C 仍然允许使用0前缀。为了避免任何潜在的混淆,0前缀现在是一个语法错误。


推荐阅读