有人可以帮助我理解Python为什么执行以下操作吗?
>>> 1,024
SyntaxError: invalid token
>>> 1,024.46
(1, 24.46)
第一个数字文字1,024返回SyntaxError,因为在Python的数字文字中从未使用逗号。
但是,第二个数字文字返回的数字1,024.46是两个不同的数字,即使它是一个数字并且不会引发错误。
我试图了解Python认为第二个数字是什么,它与第一个数字有何不同?
答案 0 :(得分:4)
Python认为两个这样的逗号分隔值是一个元组(因此带有括号)。第一个是语法错误而第二个不是语法错误的原因是,对于浮点数,允许以0开头,而对于整数则不允许。因此(1, 024)
是语法错误,(1, 024.46)
不是语法错误,因为024
不是有效的整数,而024.46
是有效的浮点数。