本文为「30天吃透Python核心语法」系列第五篇,承接Day4算术与赋值运算符,全程纯文字、新手友好、无晦涩术语,每一个知识点都配可直接运行的代码示例,跟着练就能写出会判断、会选择的程序。
大家好,欢迎来到30天Python精通计划的第五天。
前四天我们学了变量、数据类型、字符串、运算,已经能让程序做计算、处理文本了。但很多同学会发现:程序只会“从上往下执行”,不会做选择,不会根据情况走不同逻辑。
比如:
- 怎么判断一个人是否成年?
- 怎么判断成绩是否及格?
- 怎么判断账号密码对不对?
- 多个条件同时满足,怎么写才简洁?
今天我们就来解决这个问题:比较运算符 + 逻辑运算符。
学完今天,你就正式具备了写“带判断逻辑程序”的能力,为明天的 if 判断语句打下决定性基础。
学完今天你将掌握:
✅ 6种比较运算符,判断大小、相等、不等
✅ 3种逻辑运算符,处理“并且、或者、不”
✅ 布尔类型 True / False 完整用法
✅ 运算符优先级:先比较、再逻辑、最后赋值
✅ 新手最容易踩的 7 个坑,一次性避开
✅ 能独立写出所有基础判断逻辑,为明天 if 语句做好准备
一、先搞懂:布尔值 True 和 False
在开始判断之前,我们必须认识一个新的数据类型:布尔类型(bool)。
它只有两个值:
- True :真、对、满足条件
- False :假、错、不满足条件
注意:
- 首字母必须大写, true / false 是错的
- 它本质就是一种数据,可以存进变量、打印、计算
示例:
python
is_adult = True
is_student = False
print(is_adult)
print(type(is_adult)) # 结果是 bool
所有比较运算、逻辑运算的结果,最终都是 True 或 False 。
二、比较运算符:让程序学会“做判断”
比较运算符,就是用来比较两个值的关系,结果一定是 True 或 False。
Python 一共 6 个,全部必须记熟:
1. 等于:==
特别重要:
- = 是赋值
- == 是判断是否相等
新手 90% 的错都在这里。
示例:
python
age = 18
print(age == 18) # True
print(age == 20) # False
2. 不等于:!=
判断两个值不相等。
python
score = 59
print(score != 60) # True
3. 大于:>
4. 小于:<
5. 大于等于:>=
6. 小于等于:<=
这四个和数学完全一样。
示例:
python
score = 85
print(score > 60) # True
print(score < 60) # False
print(score >= 80) # True
print(score <= 100) # True
比较字符串也可以
Python 会按字母顺序、汉字编码比较:
python
print("apple" < "banana") # True
print("张三" > "李四") # 按编码比较
三、逻辑运算符:多个条件一起判断
现实中很少只判断一个条件。
比如:
- 成年 并且 有驾照 → 才能开车
- 成绩及格 或者 补考通过 → 能拿学分
这就要用逻辑运算符。
Python 只有 3 个: and 、 or 、 not 。
1. and —— 并且(同时满足)
规则:
- 左右都为 True → 结果 True
- 只要一个 False → 结果 False
示例:
python
age = 20
has_license = True
can_drive = age >= 18 and has_license
print(can_drive) # True
2. or —— 或者(满足一个就行)
规则:
- 只要一个 True → 结果 True
- 全部 False → 结果 False
示例:
python
score = 58
make_up = True
pass_exam = score >= 60 or make_up
print(pass_exam) # True
3. not —— 非(取反)
真变假,假变真。
示例:
python
is_raining = False
print(not is_raining) # True
四、逻辑运算实战常见组合
这些是以后写项目最常用的判断模板,直接背下来就能用。
模板1:判断是否成年
python
age = 17
is_adult = age >= 18
模板2:成绩是否及格(60分及以上)
python
score = 75
pass_exam = score >= 60
模板3:账号密码同时正确
python
username = "admin"
password = "123456"
is_login = username == "admin" and password == "123456"
模板4:判断是否在有效范围内
比如成绩必须在 0~100 之间:
python
score = 95
is_valid = score >= 0 and score <= 100
模板5:判断是不是奇数/偶数
python
num = 15
is_odd = num % 2 == 1 # 奇数
is_even = num % 2 == 0 # 偶数
五、运算符优先级:先算谁,后算谁
如果你写复杂表达式,一定要知道顺序:
优先级从高到低:
1. 括号 ()
2. 算术运算( + - * / 等)
3. 比较运算( > < == != 等)
4. 逻辑运算( not → and → or )
5. 赋值运算( = )
简单记:
先算数 → 再比较 → 再逻辑 → 最后赋值
示例:
python
result = 10 + 5 > 10 and 3 * 2 == 6
# 先算 10+5=15,3*2=6
# 再比较 15>10 → True,6==6 → True
# 最后 True and True → True
print(result)
不确定就加括号,永远不会错。
六、新手高频踩坑(必看)
1. 把 == 写成 =
错误:
python
if age = 18:
正确:
python
if age == 18:
2. 连续比较写成数学形式
错误:
python
60 <= score < 100 # 这个Python其实支持,但新手别乱用
更安全、更易懂写法:
python
score >= 60 and score < 100
3. and/or 混用逻辑混乱
- and :更严格
- or :更宽松
记一句话:
想同时满足用 and,满足一个就行用 or
4. 字符串数字不能直接比较
比如用户输入的是字符串:
python
age = input("请输入年龄:")
print(age >= 18) # 报错!
必须先转类型:
python
age = int(input("请输入年龄:"))
5. True/False 首字母小写
错误:
python
is_ok = true
正确:
python
is_ok = True
6. 用 =! 代替 !=
错误:
python
score =! 60
正确:
python
score != 60
7. 混淆 赋值 = 和 判断 ==
这是新手最经典、最容易犯的错,今天必须彻底分清。
七、今日课后作业(必做!)
只看不练,永远学不会判断。
1. 定义变量 score = 88 ,判断是否及格,结果存入 is_pass 并打印。
2. 定义 age = 16 ,判断是否 18~60 岁之间,打印 True/False。
3. 定义 username="python" 和 pwd="666666" ,判断是否同时正确。
4. 判断数字 123 是奇数还是偶数,打印结果。
5. 写一个表达式:成绩大于90 或者 是班干部,即可评为优秀。
全部做完,你明天学 if 语句会非常轻松。
八、明日预告
Day6 我们将进入真正的“逻辑分支”:
if / elif / else 条件语句
学完之后,你就能写出:
- 根据成绩判断等级(优秀/良好/及格/不及格)
- 根据年龄判断是否成年
- 根据账号密码判断是否登录成功
- 根据输入内容执行不同功能
程序从此不再是死板执行,而是会思考、会选择。
结尾互动
今天的比较与逻辑运算符,你都理解了吗?
完成作业的同学,欢迎在评论区扣:打卡Day5
遇到任何报错、不懂的地方,直接留言,我会逐一解答。
关注我,30天从零基础到能写脚本、做自动化、爬数据、做小工具,一步一步稳扎稳打!