1. a & b
python中的&延续了C/C++的含义,表示位运算。
例如 3 & 4;3&5;6&7
3 & 4 = (011)2 & (100)2 = (000)2 = 0;
3 & 5 = (011)2 & (101)2 = (001)2 = 1;
6 & 7 = (110)2 & (111)2 = (110)2 = 6.
注:将a,b按位分解,然后对应位都为1时结果的对应位才为1,否则为0。
2. a and b
python中的and代替了C/C++中的&&运算符,表示逻辑运算。
在python中,and运算符具有短路效应。即当a为假(0值)时无需判断b,直接返回a;当a与b都是真值(非0值)时,返回b;
a,b都为真时返回b:
a为假时返回a: