python基础:位运算符以及运算符优先级

it2022-05-05  101

python的所有位运算符,示例:

位运算都是首先将数转换为二进制,然后再进行运算。

其中&,|,^,~,<<,>> 分别是 按位与运算,按位或运算,按位异或运算,按位翻转运算,按位左移,按位右移

其中按位异或指的是,对于两个数的二进制,二进制上对应位如果相同则为0,不同则为1。

其他运算由以下示例可以看出。

# 7 转换为二进制为 00000111, 18 转换为二进制位 00010010 a = 7 & 18 # a为00000010 print(a) # 输出为2 # 7 转换为二进制为 00000111, 18 转换为二进制位 00010010 b = 7 | 18 # b为00010111 print(b) # 输出为23 # 7 转换为二进制为 00000111, 18 转换为二进制位 00010010(相同变为0,不相同变为1) c = 7 ^ 18 # c为00010101 print(c) # 输出为21 # 18 转换为二进制位 00010010 d = ~18 # ~x = -(x + 1) print(d) # 输出为-19 # 18 转换为二进制位 00010010 e = 18 << 1 # e为00100100,左移n个单位相当于乘以2的n次幂 print(e) # 输出为36 # 18 转换为二进制位 00010010 f = 18 >> 1 # f位00001001,右移n个单位相当于除以2的n次幂 print(f) # 输出为9 g = 18 >> 2 # 18 / 4 print(g) # 输出为4

 

 

Python的优先级排行榜:

  优先级: 1.函数、寻址       

        2.幂运算 **

           3.翻转运算~

  4.正负号,正负号要紧挨操作数,否则会出错,在python3中可以不用紧挨操作数   5.*、/、%   6.+,-   7.<<,>>    8.&、^、|,这三个也有优先级,但处于同一级,故而不细分   9.比较运算符      10.逻辑的not、and、or     11.lambda表达式:     简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。 python优先级使用小技巧:使用括号可以控制运算式子的优先级!!!

 

转载于:https://www.cnblogs.com/kkkwoniu/p/7689196.html


最新回复(0)