十一、运算符

十一、运算符

(1)运算符介绍

  • 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
    1. 算术运算符
    2. 赋值运算符
    3. 比较运算符
    4. 逻辑运算符
    5. 位运算符

(2)算术运算符

  • 基本介绍

    算术运算符是对数值类型的变量进行运算的,在程序中使用的非常多

  • 算术运算符一览

    运算符 运算 范例 结果
    + 5+5 10
    - 6-4 2
    * 3*4 12
    / 5/5 1
    % 取模(取余) 7%5 2
    // 取整除-返回商的整数部分(向下取整) 9//2
    -9//2
    4
    -5
    ** 返回x的y次幂 2**4 16
  • 案例演示

    1. 算术运算符的使用

      • 对于除号/,返回结果是小数

        例如:10/3,结果是 3.33333..,10 / 5,结果是2.0

      • 对于取整除//,返回商的整数部分(并且是向下取整)

        比如9//2结果是4,-9 // 2结果是-5

      • 当对一个数取模时,对应的运算公式:a %b = a - a // b * b

        # 当对一个数取模时。对应的运算公式:a % b = a-a // b*b
        print(10 % 3)  # 1
        # 分析 -10 % 3 = -10 - (-10) // 3 * 3 = -10 - (-4) * 3 = -10 +12 = 2
        print(-10 % 3)  # 2
        # 分析 10 % -3 = 10 - 10 // (-3) * (-3) = 10 - (-4) * (-3) = 10 - 12 = -2
        print(10 % -3)  # -2
        # 分析 -10 % -3 = -10 +9 = -1
        print(-10 % -3)  # -1
        
    2. 练习

      # 假如还有97天放假,问:合xx个星期零天
      day = 97
      print(f"合{day // 7}个星期零{day % 7}天")
      
      # 定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为:5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度。[234.5]
      hua_shi = 234.5
      she_shi = 5 / 9 * (hua_shi - 100)
      print(f"华氏温度 %.2f 对应的摄氏温度是%.2f" % (hua_shi, she_shi))
      

(3)比较运算符

  • 基本介绍

    1. 比较运算符的结果要么是True,要么是Fse
    2. 比较表达式经常用在if结构的条件,为TLe就执行相应的语句,为False就不执行
  • 比较运算符一览

    运算符 运算 范例 结果
    == 等于 4==3 False
    != 不等于 4!=3 True
    < 小于 4<3 False
    > 大于 4>3 True
    <= 小于等于 4<= 3 False
    >= 大于等于 4>=3 True
    is 判断两个变量引用对象是否为同一个
    is not 判断两个变量引用对象是否不同
    a = 9
    b = 8
    print(a > b)  # True
    print(a >= b) # True
    print(a <= b) # False
    print(a < b) # False
    print(a == b) # False
    print(a != b) # True
    # 表示吧a>b比较的结果,赋给flag
    flag = a > b
    print("flag =", flag) # flag = True
    
    print( a is b)  # False
    print( a is not b) # True
    

    image-20260630183652704

    # Pycharm进行了修饰
    str1 = "abc#"
    str2 = "abc#"
    print("---")
    print(str1 == str2)  # True
    print(str1 is str2)  # True
    
  • 注意事项和细节

    1. 比较运算符的结果要么是True,要么是False
    2. 比较运算符组成的表达式,我们称为比较表达式,比如:a>b
    3. 比较运算符 == 不能误写成 =

(4)逻辑/布尔 运算符

  • 基本介绍

    1. 逻辑运算也被称为布尔运算

    2. 逻辑运算符一览表

      以下假设变量a为10,b为20

      运算符 逻辑表达式 描述 实例
      and x and y 布尔"与”:如果x为False,x and y返回x的值,否则返回y的计算值。 (a and b)返回20
      or x or y 布尔"或”:如果x是True,它返回x的值,否则它返回y的计算值。 (a or b)返回10
      not not x 布尔"非”:如果x为True,返回False。如果x为False,它返回True。 not(a and b) 返回False
  • and

    1. and是种“短路运算符",只有当第一个为True时才去验证第二个
    2. 在Python中,非0被视为真值,0值被视为假值
    a = 10
    b = 99
    print(a and b)  # 99
    print((a > b) and b)  # False
    print((a < b) and b)  # 99
    
  • or

    1. or是一种"短路运算符",只有当第一个为False时才去验证第二个(换言之,如果第一个为True,就直接返回第一个的值)
    2. 在Python中,非0被视为真值,0值被视为假值
    a = 1
    b = 99
    print(a or b)  # 1
    print((a > b) or b)  # 99
    print((a < b) or b)  # True
    
  • not

    a = 3
    b = not (a > 3)
    print(b)  # True
    print(not False)  # True
    print(not True)  # False
    print(not 0)  # True
    print(not "jack")  # False
    print(not 1.88)  # False
    print(not a)  # False
    

(5)赋值运算符

  • 基本介绍

    1. 赋值运算符就是将某个运算后的值,赋给指定的变量

    2. 赋值运算符一览

      运算符 描述 实例
      = 简单的赋值运算符 c = a + b将a + b的运算结果赋值为 c
      += 复合加法赋值运算符 c += a等效于c = c + a
      -= 复合减法赋值运算符 c -= a等效于c = c - a
      *= 复合乘法赋值运算符 c = a 等效于c = c * a
      /= 复合除法赋值运算符 c /= a等效于c = c / a
      %= 复合取模赋值运算符 c %= a等效于c = c % a
      **= 复合幂赋值运算符 c **= a等效于c = c ** a
      //= 复合取整除赋值运算符 c //= a等效于c = c // a
  • 案例演示

    1. 赋值运算符案例

      num1 = 10
      i = 100
      i += 100  # => i=i+100
      print("i=", i)# 200
      
    2. 有两个变量,a和b,要求将其进行交换,最终打印结果

      a = 10
      b = 30
      print(f"没有交换前 a={a},b={b}")
      temp = a
      a = b
      b = temp
      # a, b = b, a
      print(f"交换后 a={a},b={b}")
      
  • 赋值运算符特点

    1. 运算顺序从右往左num = a + b + c

    2. 赋值运算符的左边是变量,右边可以是变量、表达式、字面量,

      比如
      num1 = 20

      num2= 78 * 34 - 10

      num3 = a

      num4= a * b

  • 练习

    # 有两个变量,a和b,要求将其进行交换,动动脑筋,要求不使用前面老师讲过两种方式完成
    
    '''
    1.a,b记录值
    2.需要小伙伴动动脑筋
    a= 1,b=2
    a=a+b
    b=a-b
    a=a-b
    '''
    
    a= 1
    b=2
    print(f"没有交换前 a={a},b={b}")
    a=a+b
    b=a-b
    a=a-b
    print(f"交换后 a={a},b={b}")
    

(6)三元运算符

  • 基本语法

    1. Python是一种极简主义的编程语言,它没有引入?:这个运算符,而是使用if else关键字来实现相同的功能
    2. 语法是:max= a if a > b else b
      • 如果a>b成立,就把a作为整个表达式的值,并赋给变量max
      • 如果a>b不成立,就把b作为整个表达式的值,并赋给变量max
  • 应用案例

    请使用前面的方式,得到2个数的最大值,

    # @File    : 09_ternary_operator.py
    # @Time    : 2026/6/30 19:37
    a = 10
    b = 80
    max = a if a > b else b
    print(f"max = {max}")
    
  • 练习

    请使用前面讲的 if-else方式,得到3个数的最大值

    a = 10
    b = 20
    c = 30
    max1 = a if a > b else b
    max = max1 if max1 > c else c
    min1 = a if a < b else b
    min = min1 if min1 < c else c
    print(f"max = {max}, min = {min}")
    
    # 一条语句完成,可读性差不推荐
    max = (a if a > b else b) if max1 > c else c
    print(f"max = {max}")
    

(7)运算符优先级

运算符有不同的优先级,所谓优先级就是表达式的运算顺序

image-20260630195049201

(8)标识符的命名规则和规范

  • 标识符概念

    1. Python对各种变量函数等命名时使用的字符序列称为标识符
    2. 凡是自己可以起名字的地方都叫标识符 num1=90
  • 标识符的命名规则(必须遵守)

    1. 由26个英文字母大小写,0-9,_组成
    2. 数字不可以开头
    3. 不可以使用关键字,但能包含关键字
    4. Python区分大小写
    5. 标识符不能包含空格
  • 标识符命名规范

    1. 变量名:变量要小写,若有多个单词,使用下划线分开。常量全部大写

    2. 函数名:函数名一律小写,如果有多个单词,用下划线隔开。另外,私有函数以双下划线开头

    3. 类名:使用大驼峰命名

      知识扩展

      1. 驼峰命名法有两种,大驼峰命名和小驼峰命名
      2. 大驼峰命名,多个单词的首字母用大写开头,比如:MyNamemyName
      3. 小驼峰命名,第1个单词的首字母用小写,后面的单词首字母都大写,例如:myName

(9)关键字

  • 关键字的定义和特点(提示:不用背)

    定义:被Python语言赋予了特殊含义,用做专门用途的字符串(单词)

    以下标识符为保留字,或称关键字,不可用于普通标识符。关键字的拼写必须与这里列出的完全一致:

    image-20260701163007314

(10)键盘输入语句

  • 基本介绍

    1. 在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取

    2. input()介绍

      image-20260701163949312

  • 应用实例演示

    1. 要求:可以从控制台接收用户信息,【姓名,年龄,薪水】

      name = input("请输入姓名:")
      age = input("请输入年龄:")
      score = input("请输入成绩:")
      print("\n输入的信息如下:")
      
      print("name:", name)
      print("age:", age)
      print("score:", score)
      
      
      """
      请输入姓名:zkk
      请输入年龄:24
      请输入成绩:100
      
      输入的信息如下:
      name: zkk
      age: 24
      score: 100
      """
      
    2. 细节思考:从控制台接收到的数据类型是什么? =>str

      # 注意, 接收到的数据类型是str
      print(type(age))
      print(type(score))
      # 如果我们希望对接收到的数据进行算术运算,则需要进行类型转换
      print(10 + float(score))
      
      
      
      
      #当然,我们也可以在接收数据的时候,直接转成需要的类型
      age=int(input("请输入年龄:"))
      
posted @ 2026-07-01 16:48  尘白  阅读(5)  评论(0)    收藏  举报