我知道您不能将变量定义为
height = 06
为什么我们做不到?是的,没有以零开头的整数,但鉴于从数学上讲,06 与 6 相同,为什么编程语言不允许我们以这种方式定义它(即使没有实际用途)而不是抛出错误?
如果以这种方式定义变量,是否有任何特定问题会导致问题?在使用或打印这样的变量时,解释器/编译器可以将其用作“6”,但为什么在我们刚刚定义时抛出错误?这只是惯例吗?
最佳答案
如果您查看 integer literals 的定义,你会看到:
Note that leading zeros in a non-zero decimal number are not allowed. This is for disambiguation with C-style octal literals, which Python used before version 3.0.
C 和 Python 2 都对十六进制数使用“0x”前缀,对八进制数使用“0”前缀。
Python 3 分别使用“0x”和“0o”。
请注意,当从字符串转换为 int 时,您可以有前导零:
In [1]: int('06')
Out[1]: 6
关于python-3.x - 为什么 Python 不接受以 0 开头的整数作为有效代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52807667/