在Python中位运算符只能用来操作整数并按照整数在内存中的二进制形式进行计算。表7-3中列出了Python中的位运算符在该表中假设变量a的值为3变量b的值为2。表7-3 位运算符运算符描述实例按位与运算符。参与运算的两个值如果两个值的相应位为1则该位计算的结果为1否则为0。a b输出结果为2|按位或运算符。参与运算的两个值只要对应的二进位有一个为1时则该位的计算结果就为1。a | b输出结果为3^按位异或运算符。参与运算的两个值如果对应的二进位相同则该位计算的结果为0否则为1。a ^ b输出结果为1~按位取反运算符。对当前运算数的每个二进制位取反即把1变为0把0变为1。~a输出结果为-4。注意二进制中的最高位为符号位0表示正数1表示负数按位左移运算符。当前运算数的各二进位全部左移若干位左移后的低位补0左移运算符的右边数字指定了移动的位数。a 3输出结果为24。按位右移运算符。当前运算数的各二进位全部右移若干位右移后的高位补0右移运算符的右边数字指定了移动的位数。a 1输出结果为1示例代码如下# 资源包\Code\chapter7\7.3\0703.py a 3 b 2 # a的二进制为0011 # b的二进制为0010 # 按位与后的结果为0010十进制为2 print(a b) # a的二进制为0011 # b的二进制为0010 # 按位或后的结果为0011十进制为3 print(a | b) # a的二进制为0011 # b的二进制为0010 # 按位异或后的结果为0001十进制为1 print(a ^ b) # a的二进制为0011 # 按位取反后的结果为1100十进制为-4。 print(~a) # a的二进制为0011 # 按位左移后的结果为0011000十进制为24。 print(a 3) # a的二进制为0011 # 按位右移后的结果为0001十进制为1。 print(a 1)