Python 为什么这个布尔表达式的计算结果为False?
有人能给我解释一下为什么Python解释器对这个表达式求值为False吗Python 为什么这个布尔表达式的计算结果为False?,python,Python,有人能给我解释一下为什么Python解释器对这个表达式求值为False吗 1 in [1] == True 我希望[1]中的1将计算为True,显然True==True将为True。然而,事实并非如此——表达式是错误的。为什么会发生这种情况?=和中的都是比较运算符。当您有多个这样的比较运算符时,Python将其视为链式比较。例如,1
1 in [1] == True
我希望[1]中的1将计算为True,显然True==True将为True。然而,事实并非如此——表达式是错误的。为什么会发生这种情况?
=
和中的都是比较运算符。当您有多个这样的比较运算符时,Python将其视为链式比较。例如,1
相当于1
在您的例子中,1in[1]==True
相当于(1in[1])和([1]==True)
,如果您有这样一个python表达式,它的计算结果为False
。事实上:
1 in [1] == True equals to: (1 in [1]) and ([1] == True)
右侧为false,因为[1]!=正确
而整个句子都是错误的尝试执行(1 in[1])==正确
(1 in[1])==正确的计算结果与预期的一样正确现在有意义了。谢谢