前两个表达式都解析为元组:
(0, 0) == 0
(即False
),然后是0
0
,其次是0 == (0, 0)
(仍然False
如此)。
由于逗号分隔符相对于相等运算符具有较高的优先级,因此将表达式进行拆分:Python看到一个元组包含两个表达式,其中一个恰好是一个相等测试,而不是两个元组之间的相等测试。
但是在第二组语句中,
a = 0, 0不能
是元组。元组是值的集合,与相等性测试不同,元组在Python中没有值。赋值不是表达式,而是语句。它没有可包含在元组或任何其他周围表达式中的值。如果您尝试执行类似
(a= 0), 0的操作以强制将其解释为元组,则会出现语法错误。这样,将元组分配给变量(可以通过编写使其更明确)
a = (0,0)作为对的唯一有效解释
a = 0, 0。
因此,即使没有对的括号
a,它和都
b被分配了值
(0,0),因此
a == b也是如此
True。



