Skip to content

第5章:运算符与表达式

5.1 算术运算符

算术运算符是最基本的运算符,用于执行各种数学运算。

基础运算符

运算符描述示例
+加法1 + 2 = 3
-减法3 - 1 = 2
*乘法2 * 3 = 6
/除法6 / 2 = 3.0
//整除7 // 2 = 3
%取余7 % 2 = 1
**幂运算2 ** 3 = 8

实操:简单计算

让我们通过一些实际例子来理解算术运算符的使用。

python
# 计算年龄差
age1 = 25
age2 = 18
age_diff = age1 - age2
print(f"年龄差:{age_diff}岁")

# 计算商品总价
price = 99.9
quantity = 3
total = price * quantity
print(f"商品总价:{total}元")

# 计算平方数
number = 5
square = number ** 2
print(f"{number}的平方是:{square}")

# 计算平均值
scores = [85, 90, 95, 80, 75]
average = sum(scores) / len(scores)
print(f"平均分数:{average}")

运行结果

年龄差:7岁
商品总价:299.7元
5的平方是:25
平均分数:85.0

新手易错点

  • 整除与除的区别// 是整除,结果是整数;/ 是除法,结果是浮点数

    python
    print(7 // 2)  # 输出:3
    print(7 / 2)   # 输出:3.5
  • 取余运算的应用场景:取余运算常用于判断奇偶性、循环计数等

    python
    # 判断奇偶性
    number = 10
    if number % 2 == 0:
        print("偶数")
    else:
        print("奇数")
  • 幂运算的语法:使用 ** 而不是 ^^ 在Python中是按位异或运算符)

    python
    print(2 ** 3)  # 输出:8
    print(2 ^ 3)   # 输出:1(按位异或)

5.2 赋值运算符

赋值运算符用于将值赋给变量,除了基本的赋值操作外,还有复合赋值运算符。

基础赋值

  • 语法=
  • 示例
    python
    x = 10

复合赋值

运算符描述等价于
+=加赋值x += 1 等价于 x = x + 1
-=减赋值x -= 1 等价于 x = x - 1
*=乘赋值x *= 2 等价于 x = x * 2
/=除赋值x /= 2 等价于 x = x / 2
//=整除赋值x //= 2 等价于 x = x // 2
%=取余赋值x %= 2 等价于 x = x % 2
**=幂赋值x **= 2 等价于 x = x ** 2

示例

python
# 使用复合赋值运算符
x = 10
print(f"初始值:x = {x}")

x += 5  # x = x + 5
print(f"x += 5 后:x = {x}")

x *= 2  # x = x * 2
print(f"x *= 2 后:x = {x}")

x -= 3  # x = x - 3
print(f"x -= 3 后:x = {x}")

x /= 4  # x = x / 4
print(f"x /= 4 后:x = {x}")

运行结果

初始值:x = 10
x += 5 后:x = 15
x *= 2 后:x = 30
x -= 3 后:x = 27
x /= 4 后:x = 6.75

5.3 比较运算符

比较运算符用于比较两个值的关系,返回布尔值(True或False)。

核心运算符

运算符描述示例
==等于1 == 1 → True
!=不等于1 != 2 → True
>大于2 > 1 → True
<小于1 < 2 → True
>=大于等于2 >= 2 → True
<=小于等于1 <= 2 → True

示例

python
# 比较两个数的大小
a = 10
b = 5

print(f"a == b: {a == b}")
print(f"a != b: {a != b}")
print(f"a > b: {a > b}")
print(f"a < b: {a < b}")
print(f"a >= b: {a >= b}")
print(f"a <= b: {a <= b}")

# 比较字符串
str1 = "apple"
str2 = "banana"
print(f"str1 == str2: {str1 == str2}")
print(f"str1 < str2: {str1 < str2}")  # 按字典序比较

运行结果

a == b: False
a != b: True
a > b: True
a < b: False
a >= b: True
a <= b: False
str1 == str2: False
str1 < str2: True

5.4 逻辑运算符

逻辑运算符用于组合多个条件,返回布尔值。

核心运算符

运算符描述示例
and并且True and False → False
or或者True or False → True
notnot True → False

实操:多条件判断

python
# 判断年龄是否在18-30之间
age = 25
if age >= 18 and age <= 30:
    print("年龄在18-30之间")
else:
    print("年龄不在18-30之间")

# 判断是否为学生或教师
occupation = "学生"
if occupation == "学生" or occupation == "教师":
    print("是学生或教师")
else:
    print("不是学生或教师")

# 判断是否不是管理员
is_admin = False
if not is_admin:
    print("不是管理员")
else:
    print("是管理员")

运行结果

年龄在18-30之间
是学生或教师
不是管理员

新手易错点

  • 逻辑运算符的优先级not > and > or

    python
    # 等价于 (True and False) or True
    print(True and False or True)  # 输出:True
    
    # 等价于 True and (False or True)
    print(True and (False or True))  # 输出:True
  • 多条件判断的逻辑顺序:合理安排条件顺序可以提高代码效率

    python
    # 先判断简单条件,再判断复杂条件
    if age > 0 and age < 120:
        # 执行操作

5.5 运算符优先级

当一个表达式包含多个运算符时,Python会按照一定的优先级顺序执行。

优先级从高到低

  1. () 括号
  2. ** 幂运算
  3. *, /, //, % 乘、除、整除、取余
  4. +, - 加、减
  5. >, <, >=, <= 比较运算符
  6. ==, != 等于、不等于
  7. not
  8. and 并且
  9. or 或者
  10. = 赋值运算符

示例

python
# 运算符优先级示例
result = 1 + 2 * 3 ** 2
print(f"1 + 2 * 3 ** 2 = {result}")  # 先算幂,再算乘,最后算加

# 使用括号改变优先级
result = (1 + 2) * 3 ** 2
print(f"(1 + 2) * 3 ** 2 = {result}")  # 先算括号内的加,再算幂,最后算乘

运行结果

1 + 2 * 3 ** 2 = 19
(1 + 2) * 3 ** 2 = 27

实操案例:编写简单计算器

让我们编写一个简单的计算器,实现加减乘除、取余、幂运算功能。

案例:简单计算器

python
"""
简单计算器
功能:实现加减乘除、取余、幂运算
"""

# 获取用户输入
num1 = float(input("请输入第一个数:"))
operator = input("请输入运算符(+, -, *, /, //, %, **):")
num2 = float(input("请输入第二个数:"))

# 根据运算符执行相应的运算
result = 0
if operator == "+":
    result = num1 + num2
elif operator == "-":
    result = num1 - num2
elif operator == "*":
    result = num1 * num2
elif operator == "/":
    if num2 != 0:
        result = num1 / num2
    else:
        print("错误:除数不能为0")
        exit()
elif operator == "//":
    if num2 != 0:
        result = num1 // num2
    else:
        print("错误:除数不能为0")
        exit()
elif operator == "%":
    if num2 != 0:
        result = num1 % num2
    else:
        print("错误:除数不能为0")
        exit()
elif operator == "**":
    result = num1 ** num2
else:
    print("错误:无效的运算符")
    exit()

# 打印结果
print(f"{num1} {operator} {num2} = {result}")

运行结果

请输入第一个数:5
请输入运算符(+, -, *, /, //, %, **):**
请输入第二个数:3
5.0 ** 3.0 = 125.0
请输入第一个数:10
请输入运算符(+, -, *, /, //, %, **):/
请输入第二个数:3
10.0 / 3.0 = 3.3333333333333335

通过这个案例,我们可以看到如何使用运算符和表达式来实现一个简单的计算器。运算符是Python编程的基础,掌握好运算符的使用对于编写复杂的程序非常重要。

© 2026 编程马·菜鸟教程 版权所有