我对以下内容感到困惑:
>>> 1,2 == 1,2
(1, False, 2)
==
运算符应该只返回一个bool(或者至少我是这么认为的)。我本来期望的,(True, True)
假设该行将像a,b = 1,2
一样处理但是执行比较而不是赋值。或者,有一个错误。但绝对不是(1, False, 2)
。
谁能解释一下这里发生了什么?
这个:
1,2 == 1,2
被评估为三元素元组,分别包含1
,2 == 1
和2
。你需要在这里使用几个括号:
(1, 2) == (1, 2)
这在Language Reference中说明:
除非列表或集合显示的一部分,否则包含至少一个逗号的表达式列表会产生元组。元组的长度是列表中表达式的数量。表达式从左到右进行评估。
@alec_djinn
比较运算符工作如果两个操作数的值相等,则条件成立。
您正在尝试比较错误的数据类型1,2无效。
试试'1,2'=='1,2'会给你正确的结果。
1,2不是单一的论点。