首页 > 代码库 > Python_位运算符

Python_位运算符

资料来源: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 0001
12 print (c)
13 
14 c = ~a;           # -61 = 1100 0011
15 print (c)
16 
17 c = a << 2;       # 240 = 1111 0000
18 print (c)
19 
20 c = a >> 2;       # 15 = 0000 1111
21 print (c)
View Code

2、成员运算符

    in x in y, 如果 x 在 y 序列中,返回 True
  not in  x 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 = 2
17 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 = 30
16 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_位运算符