这个意想不到的比较输出是如何产生的呢?
How is this unexpected comparison output produced?
为什么我从以下表达式中得到一个包含三个元素的元组?
>>> 1,2 == 1,2
(1, False, 2)
因为 ==
运算符比 ,
运算符有一个 higher operator precedence,所以您的表达式被解析为:
1, (2 == 1), 2
生成一个包含文字 1
、2 == 1
-> False
的结果和文字 2
.
的元组
您可以在 1, 2
元组两边加上括号以强制使用不同的解析顺序:
>>> (1, 2) == (1, 2)
True
表达式 1,2 == 1,2
被解释为 3 个元素的元组,1
、2 == 1
(即 False
)和 2
。
为什么我从以下表达式中得到一个包含三个元素的元组?
>>> 1,2 == 1,2
(1, False, 2)
因为 ==
运算符比 ,
运算符有一个 higher operator precedence,所以您的表达式被解析为:
1, (2 == 1), 2
生成一个包含文字 1
、2 == 1
-> False
的结果和文字 2
.
您可以在 1, 2
元组两边加上括号以强制使用不同的解析顺序:
>>> (1, 2) == (1, 2)
True
表达式 1,2 == 1,2
被解释为 3 个元素的元组,1
、2 == 1
(即 False
)和 2
。