优先和位掩码操作
我遇到了一个(看似)很奇怪的例子。
取数字2( 0b10 ),并用1( 0b01 ) 
 这应该产生相当于0的0b00 。 
不过,薛定谔先生来了:
 var_dump(0b10 & 0b01); // int(0) var_dump(0b10 & 0b01 == 0); // int(0) var_dump(0b10 & 0b01 != 0); // int(0) 
威士忌酒。 探戈。 狐步舞。
诚然,对于按位运营商来说,我并不是最大的 – 所以也许我在某个地方出现了非常可怕的错误。
但是,在Python中:
  0b10 & 0b01 == 0 = True 
  0b10 & 0b01 != 0 = False 
…所以?
你实际上是这样做的:
 var_dump(0b10 & (0b01 == 0)); var_dump(0b10 & (0b01 != 0)); 
尝试:
 var_dump((0b10 & 0b01) == 0); var_dump((0b10 & 0b01) != 0);