Python_位运算符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
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 中")
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 >>>
以上是关于Python_位运算符的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段