解开:为什么 '(1 in [1,0] == True)' 计算结果为 False
表达式 ' Python 中的 (1 in [1,0] == True)' 最初看起来可能违反直觉,当人们期望它为 True 时,其结果却为 False。为了解开这个谜团,我们必须深入研究 Python 求值过程的内部工作原理。
奇怪的是,Python 将此表达式解释为一系列比较,而不是对布尔值的直接检查。表达式的真实结构显示为:
(1 in [1,0]) and ([1,0] == True)
此比较链的计算结果为 False,因为第一个表达式 '(1 in [1,0])' 返回 True,而第二个表达式返回 True , '([1,0] == True)' 计算结果为 False。
这种比较链的现象也出现在其他表达式中,例如 'a
(a < b) and (b < c)
无需对 'b' 进行两次冗余求值。
理解 Python 求值行为的这一方面至关重要,以避免在处理复杂的情况时出现意外结果涉及比较的表达式。
以上是为什么 Python 中 `(1 in [1,0] == True)` 的计算结果为 False?的详细内容。更多信息请关注PHP中文网其他相关文章!