这个意想不到的比较输出是如何产生的呢?

How is this unexpected comparison output produced?

为什么我从以下表达式中得到一个包含三个元素的元组?

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

因为 == 运算符比 , 运算符有一个 higher operator precedence,所以您的表达式被解析为:

1, (2 == 1), 2

生成一个包含文字 12 == 1 -> False 的结果和文字 2.

的元组

您可以在 1, 2 元组两边加上括号以强制使用不同的解析顺序:

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

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