我刚刚在我的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
我已经看过这个,但正如链接所说,Python中八进制的0不再起作用了(即在Python3中不再使用)。但是这不意味着以0开头的数字的行为就不能被正确地解释吗?无论是在二进制还是普通的十进制表示中都应该被解释。既然没有这样做,那么Python为什么要表现得这样呢?这是一个实现问题吗?还是一个语义问题?