Python-数值文字表达式

时间:2019-05-25 21:41:36

标签: python syntax-error numeric literals

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

>>> 1,024
SyntaxError: invalid token

>>> 1,024.46
(1, 24.46)

第一个数字文字1​​,024返回SyntaxError,因为在Python的数字文字中从未使用逗号。

但是,第二个数字文字返回的数字1,024.46是两个不同的数字,即使它是一个数字并且不会引发错误。

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

1 个答案:

答案 0 :(得分:4)

Python认为两个这样的逗号分隔值是一个元组(因此带有括号)。第一个是语法错误而第二个不是语法错误的原因是,对于浮点数,允许以0开头,而对于整数则不允许。因此(1, 024)是语法错误,(1, 024.46)不是语法错误,因为024不是有效的整数,而024.46是有效的浮点数。