开发者

一起来了解python的运算符

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

      1、算数运算符

      小例中:

              a = 5

              b = 3

      算数运算符描述小例
      +a + b = 8
      -a - b = 2
      *a * b = 1www.cppcns.com5
      /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
      		http://www.cppcns.com在正常情况下的余数,然后与除数相加得最终结果
      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、成员运算符

      成员运算符描述
      inx in y,判断x是不是在y中,如果在则返回True,否则返回False
      not inx 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、身份运算符

      身份运算符描述
      isx is y,检测x和y在内存中是不是同一个地址,如果是则返回Ture,否则返回False
      not isx 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、所有运算符当中 = 赋值运算符优先级最低
      
      算数运算符 > 位运算符 > 比较运算符 > 身份运NVQOK算符 > 成员运算符 > 逻辑运算符>赋值运算符
      

      总结

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

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

      0

      上一篇:

      下一篇:

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      最新开发

      开发排行榜