4

在 python 中进行类型转换时出现错误。

int(01)
int(02)
int(03)
int(04)
int(05)
int(06)
int(07)

最重要的是工作正常。

但是当我对下面做同样的事情时-:

int(08)

int(09)

我收到错误,即

SyntaxError: invalid token

我知道,这种类型转换对于将 int 转换为 int 是不正确的。

但我只想知道,当它适用于 01 到 07 时,为什么它只适用于 08 和 09?

4

1 回答 1

11

以 0 开头的数字被视为八进制数据。八进制数不能超过 7。

要解决此问题,您可以将数据转换为字符串并像这样显式传递基数

print int("09", 10)

输出

9
于 2013-11-13T04:43:22.560 回答