我对以下内容感到困惑:
>>> 1,2 == 1,2
(1, False, 2)
==
操作员应仅返回一个布尔(或至少我是这样)。我本来希望有(True, True)
假设该行将像a,b = 1,2
一样处理,但是进行比较而不是分配。或者,有错误。但绝对不是(1, False, 2)
。
任何人都可以解释这里发生的事情吗?
this:
1,2 == 1,2
分别评估为三个元素元组,分别包含1
,2 == 1
和2
。您需要在这里使用几个括号:
(1, 2) == (1, 2)
这是语言参考中的:
除了列表或设置显示的一部分时,表达式列表 至少包含一个逗号会产生元组。元组的长度 是列表中的表达式数量。表达方式是 从左到右评估。
@alec_djinn
比较操作员工作如果两个操作数的值相等,则条件变为true。
您试图比较错误的数据类型1,2是无效的。
尝试'1,2'=='1,2'将为您提供正确的结果。
1,2不是一个参数。