Python运算符——数学运算、比较运算、逻辑运算、赋值运算

运算符

数学运算、比较运算、逻辑运算、赋值运算

一、数学运算

​ 运算符:+ 、-、*、/(除法)、 %(取模/取余 - 返回除法中的余数) //(取整)、 **(幂)

  1. +、-、、/ 、和数学中的 + 、-、、➗功能一样

  2. //(整除) - 求两个数的商,向小(下)取整

    print(5 // 2)   # 2
    print(3.8 // 2)   #1.0
    # 应用场景:去掉一个整数的低位数保留高位数
    num = 6789
    print(num // 10)     # 678
    print(num // 100)    # 67
    print(num // 1000)   # 6
    
  3. %- 取余、取模,即 x % y- 求除以y的余数

    print(10 % 3)   # 1
    # 应用场景1:判断两个整数之间是否存在整除关系(判断一个数是否能被另一个数整除)
    num1 = 78
    num2 = 3
    print(num1 % num2)   # 0
    # 应用场景2:判断奇(偶)数
    print(num1 % 2)   # 0  -  偶数
    print(num2 % 2)   # 1  -  奇数
    # 应用场景3:保留整数的低位数,去掉高位数  -  对10或者10的N次方进行取余
    num3 = 4354
    print(num3 % 10)     # 4
    print(num3 % 100)    # 54
    print(num3 % 1000)   # 354
    # 练习:写代码获取num的十位数
    num = 789
    print(num // 10 % 10)   # 8
    print(num % 100 //10)   # 8
    # 练习:写代码获取num的百位数
    num = 7895
    print(num //100 % 10)     # 8
    print(num % 1000 // 100)  # 8
    
  4. **(幂运算),即 x**y- 求 xy次方

    print(2 ** 4)    # 16
    print(2 ** -4)   # 0.625
    print(27 ** (1/3))   # 3.0
    

二、比较运算

​ 运算符: > 、 < 、 >= 、 <= 、 ==(等于) !=(不等于)

  1. 所有比较运算符的返回值都是布尔值

    print(10 > 5)    # True
    print(10 == 10)  # True
    print(10 != 10)  # False
    
    # 判断是否是偶数
    num = 34
    print(num % 2 == 0)   # True
    
  2. Python中的比较运算符支持连写表示范围

    age = 17
    print(13 <= age <= 20)   # True
    

    赋值运算符和比较运算符同时出现在一个式子中,先算比较运算

三、逻辑运算符

​ 运算符: and 、 or 、 not

  1. and- 逻辑 运算:

    1. 应用场景:用来连接需要同时成立的多个条件 - 并且

    2. 运算规则:条件1 and 条件2 and … - 若条件1和条件2和… 都成立即为 True,但若条件1或者条件2不成立则为 False

      print(True and True)    # True
      print(True and False)   # False
      print(False and True)   # False
      print(False and False)  # False
      # 案例1:判断num是否能够同时被3和7整除
      num = 42
      
      # 能够同时被3和7整除  ->  能被3整除并且能被7整除
      # 被3整除的条件: num % 3 == 0
      # 被7整除的条件: num % 7 == 0
      print('num是否能够同时被3和7整除:',num % 3 == 0 and num % 7 == 0)
      
      # 练习:写出num是否是大于30的偶数的条件
      num = 34
      print('num是否是大于30的偶数:',num > 30 and num % 2== 0)
      
  2. or - 逻辑 运算

    1. 应用场景:多个条件中至少有一个条件成立,即为 True - 或者

    2. 运算规则:条件1 or 条件2 or … - 至少有一个条件成立运算结果即为 True,当所有条件都不成立时才为 False

      print(True or True)    # True
      print(True or False)   # True
      print(False or True)   # True
      print(False or False)  # False
      # 练习1:num是否能够被3或者7整除
      num = 34
      print('num是否能够被3或者7整除:',num % 3 == 0 or num % 7 == 0)
      # 练习2:year是否是闰年
      # 闰年分为普通闰年和世纪闰年两种:能被4整除但是不能被100整除的年是普通闰年,能被400整除的年是世纪闰年。
      year = 2008
      print('year是否是闰年',(year % 400 ==0) or (year % 4 ==0 and year % 100 !=0))
      
  3. not- 逻辑 运算

    1. 应用场景:对一个条件进行否定 - 否定

    2. 运算规则: not条件 - 对指定条件进行否定(取反)

      print(not True)   # False
      print(not False)  # True
      # age 不大于18
      age = 18
      print(not age > 18)  # True
      print(age <= 18)
      # 判断num1是否不能同时被3和7整除
      num1 = 45
      # 能被3整除但是不能被7整除;能被7整除但是不能被3整除;既不能被3整除也不能被7整除
      print((num1 % 3 == 0 and num % 7 != 0) or (num1 % 7 == 0 and num % 3 != 0) or (num1 % 3 != 0 and num % 7 != 0))
      print(not(num1 % 3 == 0 and num % 7 == 0))
      print(num % 21 != 0)    # True
      

四、赋值运算符

​ 运算符: = 、 += 、 -= 、 *= 、 /= 、 //= 、 %= 、 **=

  1. =- 变量 =数据 - 将数据直接保存到变量中

    a = 10
    
  2. +=- 变量 +=数据 - 将变量中已有的数据和后面的数据进行加法运算,最后将计算结果赋值给变量

    Ps:变量必须是已经被赋值的变量

    a = 10
    a += 10   # a = 20
    
  3. -=- 变量 -=数据 - 将变量中已有的数据和后面的数据进行减法运算,最后将计算结果赋值给变量

    a = 10
    a -= 2   # a = 8
    
  4. *=- 变量 *=数据 - 将变量中已有的数据和后面的数据进行乘法运算,最后将计算结果赋值给变量

    a = 10
    a *= 2   # a = 20
    
  5. /=- 变量 /=数据 - 将变量中已有的数据和后面的数据进行除法运算,最后将计算结果赋值给变量

    a = 10
    a /= 2   # a = 5
    
  6. //=- 变量 //=数据 - 将变量中已有的数据和后面的数据进行取整运算,最后将计算结果赋值给变量

    a = 10
    a //= 3  # a = 3
    
  7. %=- 变量 %=数据 - 将变量中已有的数据和后面的数据进行取模/取余运算,最后将计算结果赋值给变量

    a = 10
    a %= 3  # a = 1
    
  8. **=- 变量 **=数据 - 将变量中已有的数据和后面的数据进行幂运算,最后将计算结果赋值给变量

    a = 10
    a **= 4  # a = 10000
    

五、运算符优先级

  1. 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
  2. **> *, /, //, %> +, -
  3. and> or
  4. 有括号先算括号里面的 - ()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值