第 10 课 · 阶段二 · 基础语法
运算符详解
这一课系统掌握 Python 的运算符:算术、比较、赋值、逻辑、成员与身份,并理清它们的优先级,写出不出错的表达式。
🎯 学完本课你将掌握
- 熟练使用 5 类常用运算符
- 理解逻辑运算符的短路特性
- 掌握运算符优先级,避免写出歧义表达式
一、算术运算符
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
| + | 加 | 7 + 3 | 10 |
| - | 减 | 7 - 3 | 4 |
| * | 乘 | 7 * 3 | 21 |
| / | 除(结果是浮点) | 7 / 2 | 3.5 |
| // | 整除(向下取整) | 7 // 2 | 3 |
| % | 取余 | 7 % 2 | 1 |
| ** | 幂 | 2 ** 3 | 8 |
算术运算.py
1a, b = 17, 52print(a + b) # 223print(a - b) # 124print(a * b) # 855print(a / b) # 3.46print(a // b) # 37print(a % b) # 28print(2 ** 5) # 32✅ 要点
// 是向下取整的整除:-7 // 2 结果是 -4 而不是 -3,因为 -3.5 向下取整是 -4。初学者常在这里踩坑。
二、比较运算符(结果一定是布尔值)
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
| == | 等于 | 3 == 3 | True |
| != | 不等于 | 3 != 3 | False |
| > | 大于 | 5 > 3 | True |
| < | 小于 | 5 < 3 | False |
| >= | 大于等于 | 5 >= 5 | True |
| <= | 小于等于 | 4 <= 3 | False |
⚠️ 注意
判断相等用双等号 ==,单个 = 是赋值。写错是新手最常见错误:if x = 5 会直接报错。
三、赋值运算符
复合赋值.py
1x = 102x += 5 # 等价于 x = x + 53print(x) # 154x -= 3 # 125x *= 2 # 246x /= 4 # 6.07x //= 2 # 3.08x **= 2 # 9.09print(x)四、逻辑运算符
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
| and | 且(两边都真才真) | True and False | False |
| or | 或(一边真就真) | True or False | True |
| not | 非(取反) | not True | False |
逻辑运算.py
1age = 202score = 853print(age > 18 and score > 60) # True4print(age > 25 or score > 60) # True5print(not age > 30) # True💡 提示
and/or 有短路特性:and 左边为假就不再算右边;or 左边为真就不再算右边。写条件时把“便宜的判断”放前面能提升效率。
五、成员与身份运算符
in / is
1print("a" in "banana") # True 字符串包含2print(3 in [1, 2, 3]) # True 列表包含3print(5 not in [1, 2, 3]) # True45x = [1, 2]6y = [1, 2]7print(x == y) # True 值相等8print(x is y) # False 不是同一个对象六、运算符优先级
优先级从高到低大致是:括号 → 幂 → 正负号 → 乘除取余 → 加减 → 比较 → not → and → or。拿不准就加括号,代码可读性第一。
优先级验证.py
1print(2 + 3 * 4) # 14(先乘后加)2print((2 + 3) * 4) # 20(括号优先)3print(2 ** 3 ** 2) # 512(幂从右到左:3**2=9, 2**9=512)4print(not 3 > 2) # False七、常见错误与解决
常见错误与解决
| 错误现象 | 原因 / 解决方法 |
|---|---|
把 == 写成 = 导致报错 | 赋值是 =,判断相等是 ==,注意区分。 |
SyntaxError 在运算符处 | 检查运算符是否成对(如 // 写成 / /),以及括号是否完整。 |
浮点数比较不相等 | 0.1 + 0.2 != 0.3 是浮点精度问题,比较用 abs(a-b) < 1e-9。 |
✍️ 小练习
写一个程序:定义 score=88、attendance=95,用逻辑运算符判断“成绩>=80 且出勤>=90”,并打印 7 % 3、13 // 4、2 ** 10 的结果。
📌 本节小结
算术(+ - * / // % **)、比较(== != > < >= <=)、赋值(+= 等)、逻辑(and/or/not)、成员(in)是五大主力。判断相等用 ==,优先级不放心就加括号。下一课进入字符串的深入世界。