为什么 Python 中 `(1 in [1,0] == True)` 的计算结果为 False?

Susan Sarandon
发布: 2024-11-03 18:17:30
原创
824 人浏览过

Why Does `(1 in [1,0] == True)` Evaluate to False in Python?

解开:为什么 '(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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!