我的猜测是,由于
012在python3.x中不再是八进制文字常量,因此他们不允许使用该
012语法以避免奇怪的向后兼容错误。考虑使用八进制常量的python2.x脚本:
a = 012 + 013
然后将其移植到python 3,它仍然可以工作-它只是提供给您
a = 25而不是
a = 21您以前期望的(十进制)。追踪该错误很有趣。

我的猜测是,由于
012在python3.x中不再是八进制文字常量,因此他们不允许使用该
012语法以避免奇怪的向后兼容错误。考虑使用八进制常量的python2.x脚本:
a = 012 + 013
然后将其移植到python 3,它仍然可以工作-它只是提供给您
a = 25而不是
a = 21您以前期望的(十进制)。追踪该错误很有趣。