假设我按如下方式定义a
和b
:
a = 1
b = 1
然后我测试:
a == 1
#True
5>4
#True
a==1 & b==1
#True
5>4 & 4>3
#True
a==1 & 5>4
#False
最后一个怎么回事?我希望能够测试最后的不等式并获得True
的结果。
答案 0 :(得分:6)
在Python中&
用于数字的位操作,而不是逻辑。请改用and
和or
。
答案 1 :(得分:-1)
与C不同,Python中的所有比较操作都具有相同的优先级,低于任何算术,移位或按位操作的优先级。与C不同,表达式如同< b< c具有数学常规的解释:
这意味着:
a==1 & 5>4 is equal to
a == ( 1 % 5 ) > 4
a == 1 > 4
True > 4
False