Python 什么';A&;B及(A)及;(B) ??

Python 什么';A&;B及(A)及;(B) ??,python,Python,我遇到了一个奇怪的案子: print len(ROI_cord) == 4 print len(ROI_size) == 2 print len(ROI_cord) == 4 & len(ROI_size) == 2 输出为: True True False 经过痛苦的尝试和错误,我终于发现: print (len(ROI_cord) == 4) & (len(ROI_size) == 2) 我会给出正确的答案。 所以问题是:A&B和(A&B)到底有什么区别?谢谢a==1

我遇到了一个奇怪的案子:

print len(ROI_cord) == 4 
print len(ROI_size) == 2
print len(ROI_cord) == 4 & len(ROI_size) == 2
输出为:

True
True
False
经过痛苦的尝试和错误,我终于发现:

print (len(ROI_cord) == 4) & (len(ROI_size) == 2)
我会给出正确的答案。
所以问题是:A&B和(A&B)到底有什么区别?谢谢

a==1&b==2
a==1&b==2

按位AND的优先级高于equals

鉴于
的优先级较低,请考虑:


a==1和b==2
(a==1)和(b==2)

非常感谢@NathanHughes和@Taegyung!非常感谢,这对我来说真是一个惊人的事实:一条新的鱼:)这也解释了我以前的代码中为什么a==1&b==1在a=1和b=1时工作得很好