一起来了解python的运算符

2022-07-18,

目录
  • 1、算数运算符
  • 2、比较运算符
  • 3、赋值运算符
  • 4、成员运算符
    • 实例
  • 5、身份运算符
    • 实例
  • 6、逻辑运算符
    • 实例
    • 逻辑短路
    • 逻辑优先级
  • 7、位运算符
    • 按位与
    • 按位或
    • 按位非
    • 按位异或
    • 右移
    • 左移
  • 8.运算符的优先级
    • 总结

      1、算数运算符

      小例中:
              a = 5
              b = 3

      算数运算符 描述 小例
      + a + b = 8
      - a - b = 2
      * a * b = 15
      / a / b = 1.6666666666666667
      // 整除 a // b = 1
      % 取余 a % b = 2
      ** a ** b = 125

      注:

      	(1)、整数经过除法运算后变成浮点数(小数);
      	(2)、整除结果只取整数部分,小数点以及后面的数字删除;
      

      取余的四种情况:

      1、正常情况
      	5 % 3 = 2
      2、被除数为负数
      	-5 % 3 = 1
      	计算过程:
      		(-2) + 3 = 1
      		在正常情况下的余数前减负号,然后与除数相加得最终结果
      3、除数为负数
      	5 % -3 = -1
      	计算过程:
      		2 + (-3)= -1
      		在正常情况下的余数,然后与除数相加得最终结果
      4、被除数和除数都为负数
      		-5 % -3 = -2
      		计算过程:
      			在正常情况的余数前面加负号,也就是正常情况的余数的相反数
      

      2、比较运算符

      比较运算符运算的结果为布尔值,当结果正确时为true(真),当结果错误时为false(假)。

      小例中:
      a = 1
      b = 2

      比较运算符 描述 小例
      > 大于 a > b -->false
      < 小于 a < b -->true
      >= 大于等于 a >= b -->false
      <= 小于等于 a <= b --> true
      == 等于 a == b --> false
      != 不等于 a != b --> true

      注:

      >=、<= 只要满足一个条件结果就为真

      3、赋值运算符

      小例中:
          a = 2
          b = 3

      赋值运算符 描述 小例
      = 简单的赋值运算符 a = b,将b的值赋值给a, 结果a=3
      += 加法赋值运算符 a += b,等于a = a + b, 结果a=5
      -= 减法赋值运算符 a -= b,等于a = a - b, 结果a=-1
      *= 乘法赋值运算符 a *= b,等于a = a * b, 结果a=6
      /= 除法赋值运算符 a /= b,等于a = a / b, 结果a=0.6666666666666666
      //= 整除赋值运算符 a //= b,等于a = a // b, 结果a=0
      **= 幂赋值运算符 a **= b,等于a = a ** b, 结果a=6

      4、成员运算符

      成员运算符 描述
      in x in y,判断x是不是在y中,如果在则返回true,否则返回false
      not in x not in y,判断x是不是在y中,如果不在则返回true,否则返回false

      使用场景

      1、字符串
      2、列表
      3、元组
      4、集合
      5、字典
      6、---
      

      实例

      # 字符串
      s = '这里是字符串的成员运算符的实例'
      res1 = '字符串' in s
      print(res1)		# true
      res2 = '字符串' not in s
      print(res2)		# false
      
      # 列表
      ls = [1 ,2,3]
      ls1 = 1 in ls
      print(ls1)		# true
      ls2 = 1 not in ls
      print(ls2)		# false
      
      # 元组
      tp = ('1','2','3')
      tp1 = '1' in tp
      print(tp1)		# true
      tp2 = '1' not in tp
      print(tp2)		# false
      
      # 集合
      st = {1,2,3}
      st1 = 1 in st
      print(st1)		# true
      st2 = 1 not in st
      print(st2)		# false
      
      # 字典
      dic = {'k1':'v1','k2':'v2','k3':'v3'}
      dic1 =  'k1' in dic
      print(dic1)		# true
      dic2 = 'k1' not in dic
      print(dic2)		# false
      # 成员运算符 判断字典时 判断的是键 不是那个所对应的值
      dic3 = 'v1' in dic
      print(dic3)		# false
      

      5、身份运算符

      身份运算符 描述
      is x is y,检测x和y在内存中是不是同一个地址,如果是则返回ture,否则返回false
      not is x not is y,检测x和y在内存中是不是同一个地址,如果不是则返回ture,否则返回false

      实例

      # 这些实例都已pycharm运行,python自带解释器有所区别
      
      # 整数、浮点数、布尔值相同地址相等
      int1 = 5
      int2 = 5
      print(int1 is int2)		# true
      float1 = 1.0
      float2 = 1.0
      print(float1 is float2)		# true
      bool1 = true
      bool2 = true
      print(bool1 is bool2)		# true
      
      # 字符串相同地址相等
      s1 = '123'
      s2 = '123'
      print(s1 is s2)		# true
      
      # 元组相同地址相等
      tp1 = ()
      tp2 = ()
      print(tp1 is tp2)		# true
      
      # 列表、集合、字典,无论什么情况地址都不相同
      ls1 = []
      ls2 = []
      print(ls1 is ls2)		# false
      

      6、逻辑运算符

      逻辑运算符 描述 小例
      and 逻辑与 :全真为真,一假为假 2>3 and 3<2 ---->true
      or 逻辑或:全假为假,一真为真 1>2 or 2<1 ---->false
      not 逻辑非:与原值相反 not 2>1 ---->false

      实例

      a = 1
      b = 2
      c = false
      ser1 = a<b and b>a
      print(ser1)		# true
      ser2 = a>b or b<a
      print(ser2)		# false
      ser3 = not c
      print(ser3)		# true
      

      逻辑短路

      适用一个and或者一个or:
      	1、一个and时:x and y,如果x为假,则and后面的y不进行运算,结果直接为false。
      	2、一个or时:x or y,如果x为真,则or后面的y不进行运算,结果直接为true。

      逻辑优先级

      逻辑优先级:() > not > and > or 
      
      res1 = true and (false or true)  # --> true and true
      print(res1)		# true
      
      res2 = false or not true  # -->false or false 
      print(res2)		# false
      
      res3 = false and true or false and true or false # -->false or false or false
      print(res3)		# false
      

      7、位运算符

      位运算是先将数据转换成二进制值数据,然后再进行一系列的运算。
      
      位运算符 描述
      & 按位与
      | 按位或
      ~ 按位非
      ^ 按位异或
      >> 右移
      << 左移

      按位与

      进行按位与运算的两个值,相同位置的二进制位值都为1,则结果为1,否则为0。
      8 =   1000
      9 =   1001
      8&9 = 1000 	--->8
      

      按位或

      进行按位或运算的两个值,相同位置的二进制位值只要有一个为1,则结果为1。
      9 =   1001
      10 =  1010
      8|9=  1011 	-->11
      

      按位非

      进行按位非运算,结果为:原值加一的绝对值即| n+1|
      a = 6
      b = -6
      ~a = |6+1| = 7
      ~b = |-6+1| = 5
      

      按位异或

      进行按位异或运算的两个值,相同位置的二进制位值相同,则结果为0,否则为1。
      9 =    1001
      10 =   1010
      9^10 = 0011	-->3
      

      右移

      进行右移运算的值,右移几位,则有效二进制位右移几位。等效于n>>m等于n整除2的m次幂。
      9 =    1001
      9>>1=  0100 	-->4
      10 =   1010
      10>>2= 0010		-->2
      

      左移

      进行左移运算的值,左移几位,则有效二进制位左移几位。等效于n<<m 等于n乘以2的m次幂。
      9 =     1001
      9<<1 = 10010	-->18
      10 =     1010
      10<<2= 101000	-->40
      

      8.运算符的优先级

      1、乘、除 > 加、减
      2、()> not > and > or
      3、按位非(~) > 右移(>>)、左移 (<<)> 按位与(&) > 按位异或(^) > 按位或(|)
      1、乘、除 > 加、减
      2、()> not > and > or
      3、按位非(~) > 右移(>>)、左移 (<<)> 按位与(&) > 按位异或(^) > 按位或(|)
      
      一元运算符: 同一时间只操作一个数字运算的 ,例: ~1,-12
      二元运算符: 同一时间只操作两个数字运算的 ,例:5 + 3
      1、一元运算符优先级 > 二元运算符
      2、所有运算符当中 ** 幂运算优先级最高
      3、所有运算符当中 = 赋值运算符优先级最低
      
      算数运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符>赋值运算符
      

      总结

      (1)算数运算符:  + - * / // % **
      (2)比较运算符:  > < >= <= == !=   
      (3)赋值运算符:  = += -= *= /= //= %= **=
      (4)成员运算符:  in 和 not in (针对于容器型数据)
      (5)身份运算符:  is 和 is not (检测两个数据在内存当中是否是同一个值)  
      (6)逻辑运算符:  and or not
      (7)位运算符:    & | ~ ^ << >>
      

      本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!   

      《一起来了解python的运算符.doc》

      下载本文的Word格式文档,以方便收藏与打印。