我试图像下面的代码一样用Python进行比较,但却被产生的输出弄糊涂了。
有人能解释为什么输出是这样的吗?
>>> True, True == True, True
(True, True, True)
>>> True, True == (True, True)
(True, False)
因为运算符的优先级。==
的优先级高于,
,因此第一个表达式被视为编写了
True, (True == True), True
您的第二个表达式被视为
True, (True == (True, True))
如果你想比较==
元素的两侧,你需要在两边加括号:
(True, True) == (True, True)
这将返回True
。
请注意,逗号并不是严格意义上的运算符,所以为了理解这种行为,它已经足够接近了。