Python - 数字文字表达式

Python - Numeric Literal expressions

有人可以帮助我理解为什么 Python 会执行以下操作吗?

>>> 1,024
SyntaxError: invalid token

>>> 1,024.46
(1, 24.46)

第一个数字文字 1,024 returns 语法错误,因为 Python 中的数字文字中从未使用逗号。

然而,第二个数字文字 returns 数字 1,024.46 作为两个不同的数字,即使它是一个数字并且不会抛出错误。

我想了解 Python 认为第二个数字是什么,它与第一个有何不同?

Python 将两个类似的 comma-separated 值视为一个元组(因此有括号)。第一个是语法错误而第二个不是的原因是对于浮点数,允许以 0 开头,而对于整数则不允许。所以 (1, 024) 是一个语法错误,(1, 024.46) 不是,因为 024 不是一个有效的整数,但 024.46 是一个有效的浮点数。