【问题标题】:Python cannot handle numbers string starting with 0. Why?Python 无法处理以 0 开头的数字字符串。为什么?
【发布时间】:2023-04-03 23:37:01
【问题描述】:

我刚刚在我的 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 开头的数字的行为?以 2 为基数还是以正常的以 10 为基数表示?既然不是这样,为什么python会这样呢?是执行问题吗?还是语义问题?

【问题讨论】:

    标签:
    python
    python-3.x
    syntax-error