python - 在 Python 中,0 ==(1 或 0)返回 False。为什么它不返回True?
问题描述
我试图查看一个函数是否返回一个整数,其值应该是 1 还是 0。
0 == (1 or 0)
0 等于 1 或 0,这听起来应该是真的,但事实并非如此。
为什么?以及如何正确地做我想做的事情?
解决方案
0 == (1 or 0)
被解析为这棵树:
==
/ \
0 or
/ \
1 0
1 or 0
结果1
,因为or
返回两个操作数的第一个真值(并且1
是真值)。
之后,我们就剩下 了0 == 1
,这显然是 False。
您想要做的是检查是否0
是您可以通过序列检查执行的值之一:0 in (0, 1)
推荐阅读
- linux - 在 Ubuntu 中安装 zip 文件
- scala - http4s 解压 gzipped http 响应
- postgresql - 在函数 postgresql 中获得所需的结果
- python - 错误“str”对象不能解释为整数
- excel - Excel 在新的 Excel 文件中将特定工作表导出为 CSV
- css - 要删除的 Css 动画,然后添加回文本下划线
- reactjs - 导入没有类型的JS文件时反应错误
- python - 如果列值中包含列表值,则在列上过滤数据框。熊猫
- docker - 使用自制软件安装特定版本的一致
- java - 使用 CrossProfileApps 在托管配置文件上运行应用程序