<< 是对应于左移位的位运算。左移类似于乘以2。
<<
例如:
print(2 << 1) # 4 print(2 << 2) # Do two left-shifts # 8
一般来说 n << m 将等于 n * (2 ** m) .
n << m
n * (2 ** m)
现在,移位具有从左到右的关联性,因此您的条件将被解释为 ((0 << a) << 10) .使用上面的公式,你会注意到这总是会给我们 0 ,无论 a 是 0 等价于布尔值 False 所以你的情况永远是这样 错误的
((0 << a) << 10)
0
a
False
错误的