Python_位运算符,,资料来源:http:


资料来源:http://www.runoob.com/python/python-operators.html#ysf5

1、位运算符

转换成二进制一位一位运算

&按位与1&1 为1
|按位或1|0 或 0|1 或 1|1 为 1
^按位异或0^1 或 1^0 为 1
~按位取反取反
<< 左移"<<"左边的二进制数全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
>> 右移把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
技术分享
 1 a = 60            # 60 = 0011 1100  2 b = 13            # 13 = 0000 1101  3 c = 0 4  5 c = a & b;        # 12 = 0000 1100 6 print (c) 7  8 c = a | b;        # 61 = 0011 1101  9 print (c)10 11 c = a ^ b;        # 49 = 0011 000112 print (c)13 14 c = ~a;           # -61 = 1100 001115 print (c)16 17 c = a << 2;       # 240 = 1111 000018 print (c)19 20 c = a >> 2;       # 15 = 0000 111121 print (c)
View Code

2、成员运算符

inx in y, 如果 x 在 y 序列中,返回 True
not inx not in y,x不在y序列中,返回 True

技术分享
 1 a = 10 2 b = 20 3 list = [1, 2, 3, 4, 5 ]; 4  5 if ( a in list ): 6    print ("1 - 变量 a 在给定的列表中 list 中") 7 else: 8    print ("1 - 变量 a 不在给定的列表中 list 中")  # 9 10 if ( b not in list ):11    print ("2 - 变量 b 不在给定的列表中 list 中")12 else:13    print ("2 - 变量 b 在给定的列表中 list 中")    #14 15 # 修改变量 a 的值16 a = 217 if ( a in list ):18    print ("3 - 变量 a 在给定的列表中 list 中")    #19 else:20    print ("3 - 变量 a 不在给定的列表中 list 中")
View Code

3、身份运算符

is判断两个标识符是不是引用自一个对象,x is y, 如果 id(x) 等于 id(y),返回结果 1
is not判断是不是引用自不同对象,x is not y, 如果 id(x) 不等于 id(y),返回结果 1
技术分享
 1 a = 20 2 b = 20 3  4 if ( a is b ): 5    print ("1 - a 和 b 有相同的标识") 6 else: 7    print ("1 - a 和 b 没有相同的标识") 8  9 if ( id(a) == id(b) ):10    print ("2 - a 和 b 有相同的标识")11 else:12    print ("2 - a 和 b 没有相同的标识")13 14 # 修改变量 b 的值15 b = 3016 if ( a is b ):17    print ("3 - a 和 b 有相同的标识")18 else:19    print ("3 - a 和 b 没有相同的标识")20 21 if ( a is not b ):22    print ("4 - a 和 b 没有相同的标识")23 else:24    print ("4 - a 和 b 有相同的标识")25 26 27 输出:28 >>> 29 1 - a 和 b 有相同的标识30 2 - a 和 b 有相同的标识31 3 - a 和 b 没有相同的标识32 4 - a 和 b 没有相同的标识33 >>> 
View Code

Python_位运算符

评论关闭