程式码片段1:
a = True, True, True
b = (True, True, True)
print(a == b)
返回True
。
代码段2:
(True, True, True) == True, True, True
返回(False, True, True)
。
运算符优先级。你实际上检查平等之间(True, True, True)
,并True
在你的第二个代码片断,然后建立一个元组与该结果作为第一个项目。
回想一下,在Python中,通过指定用逗号分隔的没有任何括号的项目“列表”,它返回一个元组:
>>> a = True, True, True
>>> print(type(a))
<class 'tuple'>
>>> print(a)
(True, True, True)
这里的代码片段2也不例外。您尝试使用相同的语法构建元组,恰好碰巧第一个元素是(True, True, True) == True
,第二个元素是True
,第三个元素是True
。
因此,代码段2等效于:
(((True, True, True) == True), True, True)
并且由于(True, True, True) == True
为False(您在此将三个对象的元组与布尔值进行比较),因此第一个元素变为False。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句