我刚刚在python解释器上执行了以下程序:
>>> def mylife(x):
... if x>0:
... print(x)
... else:
... print(-x)
...
>>> mylife(01)
File "<stdin>", line 1
mylife(01)
^
SyntaxError: invalid token
>>> mylife(1)
1
>>> mylife(-1)
1
>>> mylife(0)
0
现在,我已经看到了this,但正如链接所说,八进制的0在python中不再起作用(也就是说,在python3中不起作用).但这不意味着应该正确解释以0开头的数字的行为吗?是在base-2还是在正常的base-10表示中?既然不是这样,为什么python会这样做?这是一个执行问题吗?还是语义问题?