这个意外的比较输出是如何产生的?

时间:2015-09-22 12:07:38

标签: python python-2.7 comparison tuples

为什么我从下面的表达式中得到三个元素的元组?

>>> 1,2 == 1,2
(1, False, 2)

2 个答案:

答案 0 :(得分:10)

由于==运算符的higher operator precedence运算符不是,运算符,因此表达式解析为:

1, (2 == 1), 2

使用文字1生成元组,2 == 1的结果 - > False和文字2

您可以在1, 2元组周围添加括号以强制执行不同的解析顺序:

>>> (1, 2) == (1, 2)
True

答案 1 :(得分:4)

表达式1,2 == 1,2被解释为3个元素的元组,12 == 1(即False)和2