首页 > 解决方案 > Python比较怪异

问题描述

我有一个对象,我需要比较它的一些属性,但我无法解释发生了什么,但以下是我的 VS 代码调试器的输出(我在每个输出之前添加了 '=')

(0 > 55000 | 150 > 280)
=False # expected
250>150
=True # expected
True & False 
=False # expected
(250>150 & (0 > 55000 | 150 > 280))
=True # what????

标签: pythonboolean-operations

解决方案


对于数字,&是“按位与”和|“按位或”。这些运算符的优先级高于比较运算符,如>and <

150 & (0 > 55000 | 150 > 280)== 150 & 0==0 那么150>0就是True


推荐阅读