为什么在Python中,"0, 0 == (0, 0)" 等于 "(0, False)"?

26 浏览
0 Comments

为什么在Python中,"0, 0 == (0, 0)" 等于 "(0, False)"?

在Python中(我只验证了Python 3.6,但我相信它在许多以前的版本中也是适用的):

(0, 0) == 0, 0   # 结果是一个包含两个元素的元组:(False, 0)
0, 0 == (0, 0)   # 结果是一个包含两个元素的元组:(0, False)
(0, 0) == (0, 0) # 结果是一个布尔值True

但是:

a = 0, 0
b = (0, 0)
a == b # 结果是一个布尔值True

为什么两种方法的结果不同?相等操作符对元组的处理方式不同吗?

0