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

标签 python-3.x variables

我知道您不能将变量定义为

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/

相关文章:

python-3.x - Networkx 邻居集不打印

python - Babun 显示旧版本的 Python

python - 这些 Eclipse PyDev 图标在哪里定义的?

Python递归函数似乎丢失了一些变量值

javascript - 使用 jQuery 在 URL 末尾添加变量

java - 获取循环外的信息

bash - Bash shell 中的 ${var}、 "$var"和 "${var}"之间有什么区别?

python - 仅在关闭并重新打开代码后附加到文件

arrays - 在二维数组中查找最大值

javascript - 为什么在以下代码片段中无法访问变量值?