第3章:运算符

上一节我们学习了如何用变量存储不同类型的数据。现在,我们要对这些数据进行操作,比如加减乘除、比较大小、组合逻辑判断等。这些操作需要用到运算符

1. 算术运算符

Python 支持常见的数学运算,使用的符号和我们平时数学课上学的很类似。

  • 加 (+):
    result = 5 + 3
    print(result) # 输出 8
    
  • 减 (-):
    result = 10 - 4
    print(result) # 输出 6
    
  • 乘 (*):
    result = 6 * 7
    print(result) # 输出 42
    
  • 除 (/):
    result = 10 / 2
    print(result) # 输出 5.0 (注意:除法结果总是浮点数)
    
    result = 10 / 3
    print(result) # 输出 3.3333...
    
  • 取模 (%): 计算除法的余数。
    remainder = 10 % 3 # 10 除以 3 等于 3 余 1
    print(remainder) # 输出 1
    
    is_even = 10 % 2 # 判断偶数常用方法:偶数除以2余数为0
    print(is_even) # 输出 0
    
  • 幂 (**): 计算一个数的几次方。
    power = 2 ** 3 # 2 的 3 次方 (2 * 2 * 2)
    print(power) # 输出 8
    
    square = 5 ** 2 # 5 的平方
    print(square) # 输出 25
    
  • 整除 (//): 计算除法,但结果只取整数部分(向下取整)。
    result = 10 // 3 # 10 除以 3 等于 3.33...,只取整数部分
    print(result) # 输出 3
    
    result = 11 // 2
    print(result) # 输出 5
    

2. 比较运算符

比较运算符用于比较两个值的大小或是否相等,其运算结果永远是布尔值 (TrueFalse)。这在后续的条件判断 (if 语句) 中非常重要。

  • 等于 (==): 判断两个值是否相等。注意:是两个等号,一个等号 (=) 是赋值!
    print(5 == 5)   # 输出 True
    print(5 == 3)   # 输出 False
    print("hello" == "hello") # 输出 True
    print("Hello" == "hello") # 输出 False (大小写敏感)
    
  • 不等于 (!=): 判断两个值是否不相等。
    print(5 != 3)   # 输出 True
    print(5 != 5)   # 输出 False
    print("apple" != "orange") # 输出 True
    
  • 大于 (>):
    print(10 > 5)   # 输出 True
    print(5 > 10)   # 输出 False
    print(5 > 5)    # 输出 False
    
  • 小于 (<):
    print(3 < 8)    # 输出 True
    print(8 < 3)    # 输出 False
    print(8 < 8)    # 输出 False
    
  • 大于等于 (>=):
    print(10 >= 5)  # 输出 True
    print(5 >= 5)   # 输出 True
    print(3 >= 5)   # 输出 False
    
  • 小于等于 (<=):
    print(3 <= 8)   # 输出 True
    print(8 <= 8)   # 输出 True
    print(10 <= 8)  # 输出 False
    

3. 逻辑运算符

逻辑运算符用于连接或修改布尔值 (True / False),构建更复杂的条件判断。

  • 与 (and): 只有当两边的条件都为 True 时,结果才为 True;否则为 False
    age = 25
    is_student = True
    
    print(age > 18 and is_student == True) # True and True -> True
    print(age < 30 and is_student == False) # True and False -> False
    print(age < 18 and is_student == True) # False and True -> False
    
  • 或 (or): 只要当两边的条件有至少一个True 时,结果就为 True;只有两边都为 False 时才为 False
    score = 80
    has_vip_card = False
    
    print(score >= 60 or has_vip_card == True) # True or False -> True
    print(score < 60 or has_vip_card == True) # False or True -> True
    print(score < 60 or has_vip_card == False) # False or False -> False
    
  • 非 (not): 对一个布尔值取反。not True 结果是 Falsenot False 结果是 True
    is_raining = False
    print(not is_raining) # not False -> True
    
    is_logged_in = True
    print(not is_logged_in) # not True -> False
    

运算优先级: 通常,not 的优先级最高,然后是 and,最后是 or。可以使用括号 () 来明确指定运算顺序,就像数学运算一样。

print(True or False and False) # 先算 and: True or False -> True
print((True or False) and False) # 先算 or: True and False -> False

4. 赋值运算符

我们已经知道 = 是赋值运算符。Python 还提供了一些复合赋值运算符,可以简化代码。

  • a = a + 1 可以简写为 a += 1
  • b = b - 5 可以简写为 b -= 5
  • c = c * 2 可以简写为 c *= 2
  • d = d / 4 可以简写为 d /= 4
  • e = e % 3 可以简写为 e %= 3
  • f = f ** 2 可以简写为 f **= 2
  • g = g // 10 可以简写为 g //= 10

示例:

count = 0
count += 1  # count 现在是 1
print(count)

price = 100
price *= 0.8 # 打八折,price 现在是 80.0
print(price)

这些复合赋值运算符让代码更简洁。

5. 练习

  1. 计算 (100 + 50) * 2 的结果。
  2. 判断 100 是否大于 50 * 2
  3. 判断 20 是否既是偶数 (20 % 2 == 0) 又小于 30
  4. 有一个变量 score = 75,判断它是否大于等于 60 或者小于 10
  5. 使用复合赋值运算符,将变量 total = 10 的值增加 5,然后乘以 3

掌握了这些基础运算符,我们就能对数据进行各种计算和比较了。下一章我们将学习如何存储一系列的数据,即列表和字典。