我遇到了一个奇怪的案例:
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的优先级高于等于。
and
的优先级较低,请考虑:
a == 1 and b == 2
是(a == 1) and (b == 2)