python - 在 python 中为什么这个语句是错误的:- print(3 < (2 or 10))
问题描述
在 python 中,为什么这个语句是假的:- print(3 < (2 or 10)) 它不应该是真的吗?请解释
解决方案
在 shell 中使用它可能已经清楚发生了什么:
>>> 3 < (2 or 10)
False
>>> (2 or 10)
2
>>> (0 or 10)
10
>>> (1 or 10)
1
当然,如果(2 or 10)
等于2
,3
则不更小。
另请参阅文档:
表达式
x or y
首先计算x
; 如果x
为真,则返回其值;否则,y
评估并返回结果值。
整数通常是True
,除了0
和None
。可以在这里找到:
在布尔运算的上下文中,以及当控制流语句使用表达式时,以下值被解释为 false:
False
,None
, 所有类型的数字零,以及空字符串和容器(包括字符串、元组、列表、字典、集合和冻结集)。所有其他值都被解释为 true。用户定义的对象可以通过提供一个__bool__()
方法来定制他们的真值。
推荐阅读
- c - 如何在 C 中执行 DLL 中的线程
- javascript - 向对象数组添加数据时如何防止重复键?
- php - 从文件获取内容获取json字符串时获取对象字符串(php)
- c# - 让应用程序以不同于 Windows 服务的用户身份运行
- python-3.x - 如何在 Databricks 中安装 PYODBC
- jenkins - 如何在轻量级执行器上运行管道时将重量级帖子与 Jenkins 声明性管道一起使用
- python - Cython for pypi 包结构
- vb.net - 如何通过两个不同的拆分选项提取字符串?
- java - 为什么在我的代码中使用 Apache POI 后结果会立即发生变化?
- templates - TYPO3:将 Formhandler 添加到新闻扩展