按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下,只针对整型数据: a=60的二进制是:0011 1100 b=13的二进制是:0000 1101 a和b进行二进制按位算法: 0011 1100 0000 1101 ------------------ 0000 1100 ---->a&b(a,b按位与运算结果) 0011 1101 ---->a|b(a,b按位或运算结果) 0011 0001 ---->a^b(a,b按位异或运算结果) 即a和b相反结果才是1,相同则为0 取反: a=60,0011 1100 按位取反:结果为 1100 0011 移位: a=60,0011 1100 a<<3 左移动3位 则是向二进制右边加3个0 ,结果是:11 1100 000,值为480,等效于 x * 2**y a>>3 右移动3位 则是将二进制位全部向右移动3位 ,结果是:1 1100,值为28,将a的各二进位全部向 右移动3位,相当于将a的二进制位前3位切除 。等效于x / 2**y (取整)