2026-09-23
Python 入门系列(三):运算符——让数据动起来
七个算术运算符、六个比较运算符、三个逻辑运算符,搞懂 // 整除与 % 取余,掌握运算优先级,完成秒数换算练习。
运算符:让数据动起来
预计学习时间:45 分钟 · 本系列第 3 / 10 课
一、光存不用可不行
上一课我们学会了"记东西"(变量),这一课让记下的东西动起来:算一算、比一比、做判断。这些都靠运算符(Operator)——它是程序员的数学工具箱。
二、算术运算符:七个要记牢
a = 17
b = 5
print(a + b) # 22 加
print(a - b) # 12 减
print(a * b) # 85 乘
print(a / b) # 3.4 除(结果永远是 float)
print(a // b) # 3 整除(只要商,扔掉余数)
print(a % b) # 2 取余(只要余数)
print(a ** b) # 1419857 幂(17 的 5 次方)
**// 和 % 什么时候用?**想象把 17 颗糖分给 5 个小朋友:每人分 17 // 5 = 3 颗,还剩 17 % 5 = 2 颗。判断奇偶(% 2)、循环分组,都离不开它们。
●●●●● ●● 17 颗糖
[●●●●●] 每人 3 颗 (17 // 5 = 3) ← 整除管"分"
[●●] 剩 2 颗 (17 % 5 = 2) ← 取余管"剩"
三、比较运算符:结果是 True / False
x = 7
print(x > 5) # True 大于
print(x >= 7) # True 大于等于
print(x < 3) # False 小于
print(x == 7) # True 等于(两个等号!)
print(x != 7) # False 不等于
本课最重要的坑:= 是赋值,== 才是"等于"。
四、逻辑运算符:把多个条件连起来
| 运算符 | 含义 | 何时为 True |
|---|---|---|
and |
并且 | 两边都为 True |
or |
或者 | 至少一边为 True |
not |
取反 | 把 True 变 False、False 变 True |
age = 20
has_id = True
print(age >= 18 and has_id) # True:成年"并且"有证件才能进
print(age < 12 or age > 65) # False:儿童"或"老人有优惠,20岁都不沾
print(not has_id) # False:没证件?他有,所以是假的
五、优先级:谁先算?
和数学一样:先乘除后加减,括号最优先。完整顺序大致是:
( ) 括号 → ** 幂 → * / // % → + - → 比较运算符 → not → and → or
print(2 + 3 * 4) # 14,先算 3*4
print((2 + 3) * 4) # 20,括号最优先
print(not True or True) # True,先 not、再 or
实用建议:记不住优先级没关系,多加括号永远不会错,还让代码更好读。
六、字符串也能"运算"
print("Py" + "thon") # 拼接:Python
print("哈" * 3) # 重复:哈哈哈
print("age: " + str(18)) # 字符串 + 数字必须先转 str
Python
哈哈哈
age: 18
七、避坑指南
- ❌
"5" + 5—— 报TypeError,字符串不能和数字相加 - ❌
10 / 3以为结果是 3 —— 其实是3.3333...,/永远返回小数;要整数商请用// - ❌ 浮点数精度:
0.1 + 0.2结果是0.30000000000000004(二进制的锅,所有语言都这样),比较时用round()处理
八、动手练习
练习:输入一个总秒数(如 3671),换算成"X小时Y分钟Z秒"。
total = int(input("请输入总秒数:"))
hours = total // 3600 # 整除出小时数
minutes = total % 3600 // 60 # 剩余部分再整除出分钟
seconds = total % 60 # 最后剩下的是秒
print(hours, "小时", minutes, "分钟", seconds, "秒")
输入 3671 → 输出 1 小时 1 分钟 11 秒。整除管"分",取余管"剩",一层层剥下去。
下一课预告:教会程序做选择——条件判断。