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

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
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞