01208在python中有特殊含义还是只是python2.6.2的bug?

Geo*_*rey 2 python

在python运行时环境中,尝试以下方法:

>> *type(01207)*
Run Code Online (Sandbox Code Playgroud)

你会得到:

<type 'int'>
Run Code Online (Sandbox Code Playgroud)

然后尝试:

>> *type(01208)*
Run Code Online (Sandbox Code Playgroud)

你会得到:

File "<stdin>", line 1
type(01208)
         ^
Run Code Online (Sandbox Code Playgroud)

jam*_*lak 7

不,它不是一个错误,通过在数字前加上0你使用八进制并且8不是基数中的有效数字8.

>>> 07
7
>>> 08
SyntaxError: invalid token
>>> 010
8
Run Code Online (Sandbox Code Playgroud)

Python 3使用0o前缀( - 您可以同时执行这两种操作2.7)来消除这种歧义.