为什么01、02,... 07在python解释器中解析为整数,而08和09则抛出SyntaxError?

时间:2019-07-09 19:24:11

标签: python syntax

$ python -V
Python 2.7.10

$ uname -a
Darwin Carters-MacBook-Pro-2.local 18.0.0 Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT 2018; root:xnu-4903.201.2~1/RELEASE_X86_64 x86_64

我今天试图在python解释器中做类似的事情

datetime.datetime(2019, 07, 26) - datetime.datetime.today()

效果很好,但是当我去

datetime.datetime(2019, 08, 26) - datetime.datetime.today()

它会抛出“ SyntaxError:无效令牌”

然后我尝试了

>>> 01
1
>>> 02
2
>>> 03
3
>>> 04
4
>>> 05
5
>>> 06
6
>>> 07
7
>>> 08
  File "<stdin>", line 1
    08
     ^
SyntaxError: invalid token

怎么回事?

1 个答案:

答案 0 :(得分:1)

这是因为在python中,2个前导零表示该数字是一个八进制数字,因此在八进制中,我们没有8个数字就可以解决此错误。

注意:Python3不允许前导零