python - Python比较怪异
问题描述
我有一个对象,我需要比较它的一些属性,但我无法解释发生了什么,但以下是我的 VS 代码调试器的输出(我在每个输出之前添加了 '=')
(0 > 55000 | 150 > 280)
=False # expected
250>150
=True # expected
True & False
=False # expected
(250>150 & (0 > 55000 | 150 > 280))
=True # what????
解决方案
对于数字,&
是“按位与”和|
“按位或”。这些运算符的优先级高于比较运算符,如>
and <
。
150 & (0 > 55000 | 150 > 280)
== 150 & 0
==0
那么150>0
就是True
。
推荐阅读
- arrays - 使用 C 的直接 I/O:数组与指针
- c - x86-64 零标志在内联调用之间清除(和另一个问题)
- java - Android:谷歌登录需要哪些元数据标签
- java - Unity Android 服务
- javascript - 使用 react-quil 存储嵌入在文本中的图像的正确方法
- java - M1 Mac - 启动 ElasticSearch 的问题。无法运行 jdk/bin/java
- java - 我的代码有什么问题无法将数据放入 Firebase 的 Realtime DB 中吗?
- javascript - 如何在猫鼬查找功能中使用 for 循环?
- java - 自定义微调器太薄
- javascript - 从表单字段Javascript生成链接