位运算符
运算符
描述
实例
&
按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
(a & b) 输出结果12 ,二进制解释:0000 1100
|
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
(a | b) 输出结果61 ,二进制解释:0011 1101
^
按位异或运算符:当两对应的二进位相异时,结果为1
(a ^ b) 输出结果49 ,二进制解释:0011 0001
~
按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1
(~a ) 输出结果-61 ,二进制解释:1100 0011,在一个有符号二进制数的补码形式。
<<
左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
a << 2 输出结果240 ,二进制解释:1111 0000
>>
右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
a >> 2 输出结果15 ,二进制解释:0000 1111

逻辑运算符
成员运算符
运算符
描述
实例
and
布尔"与" -如果x为False,x and y返回False,否则它返回y的计算值。
(a and b) 返回true。
or
布尔"或" -如果x是True,它返回True,否则它返回y的计算值。
(a or b) 返回true。
not
布尔"非" -如果x为True,返回False。如果x为False,它返回True。
not(a and b) 返回false。

成员运算符
描述
实例
in
如果在指定的序列中找到值返回True,否则返回False。
x 在y序列中, 如果x在y序列中返回True。
not in
如果在指定的序列中没有找到值返回True,否则返回False。
x 不在y序列中, 如果x不在y序列中返回True。