python - 为什么 print(3 > 0 == True) 显示为 False?
问题描述
python比较运算符的顺序优先级是从左到右。这样,print(3 > 0 == True)
显示 False,但等效语句:print((3 > 0) == True)
显示 True。此外,print(3 > (0 == True))
显示 True。
那么为什么会print(3 > 0 == True)
显示False呢?
我的python版本是3.8.2。
解决方案
会发生什么:
该值3 > 0 == True
被解释为(3>0) AND (0==True)
which give True AND False
which is 当然False
这就是为什么例如语句:3 > 1 == True
评估为True
推荐阅读
- javascript - vue-chartjs中的水平滚动
- elasticsearch - 弹性搜索:来自 NEST 的 SearchAsync 调用引发关于 ThreadPool 的异常
- php - Laravel,将两个 Eloquent 查询简化为一个
- vba - Word VBA .doc 文件提示用户关闭
- python - Django manage.py runserver 命令在 OSX 上冻结
- python - 如何获取图像的文件?在蟒蛇?django 休息框架
- c - 跨文件传递函数中的 Struct:“预期为 'struct Peer_Information *',但参数类型为 'struct Peer_Information *”
- php - 如何在页面内的 onclick 上重新插入值?
- sql - SQL/VBA 删除两个值之间的行
- mysql - SQL 产生外键约束失败错误