为什么Python不接受以0开头的整数作为有效代码?

Wor*_*Gov 1 variables python-3.x

我知道你不能定义一个变量,比方说,

height = 06
Run Code Online (Sandbox Code Playgroud)

为什么我们不能这样做?是的,没有整数以零开头,但从数学角度看,06与6相同,为什么编程语言不允许我们以这种方式定义它(即使没有实际用途)而不是抛出错误?

如果以这种方式定义变量,是否有任何特定的问题会导致问题?在使用或打印这样的变量时,解释器/编译器可以将其用作"6",但为什么在我们刚定义时会抛出错误?这只是惯例吗?

Rol*_*ith 6

如果你看一下整数文字的定义,你会看到:

请注意,不允许使用非零十进制数的前导零.这是为了消除C语言八进制文字,这是Python在3.0版之前使用的.

C和Python 2都使用十六进制数字的"0x"前缀,以及八进制数字的"0"前缀.

Python 3分别使用"0x"和"0o".

请注意,从字符串转换为int时,您可以使用前导零:

In [1]: int('06')
Out[1]: 6
Run Code Online (Sandbox Code Playgroud)