if/elif/else基础语法出发,手把手讲解单分支、双分支、多分支写法,再到多条件组合、嵌套优化、三元表达式简写等7个核心技巧,最后结合异常处理完成实战案例,让零基础的你也能彻底吃透分支逻辑,写出清晰、健壮、无Bug的代码。
图1:条件判断语法结构总览(单/双/多分支完整逻辑)
一、Python条件判断核心:if/elif/else 基础语法
Python中没有其他编程语言的switch/case语句,所有分支逻辑都通过if/elif/else实现,核心是「根据条件布尔值(True/False)执行对应代码块」,缩进是语法关键,通过4个空格区分代码块归属,这也是Python语法简洁性的体现。
1. 单分支判断:if 语句(基础入门)
单分支是最简单的形式,仅当条件为True时,执行if后的缩进代码块,条件为False时则跳过,适合「满足某个条件才执行操作」的场景,比如判断用户是否成年、是否满足优惠条件等。
# 单分支if:仅条件成立时执行
age = 18
if age >= 18:
print("你已成年,具备独立民事行为能力")
# 条件为False时,无任何输出,直接跳过
2. 双分支判断:if…else 语句(二选一逻辑)
双分支是最常用的形式,实现「二选一」逻辑:条件为True时执行if代码块,为False时执行else代码块,无需额外判断,覆盖所有情况,适合成绩及格判断、登录状态判断等场景。
# 双分支if...else:条件成立/不成立分别执行
score = 85
if score >= 60:
print("成绩及格,继续保持,争取更上一层楼")
else:
print("成绩未及格,需要查漏补缺,针对性复习知识点")
# 无论条件是否成立,必有一个代码块被执行
3. 多分支判断:if…elif…else 语句(多选择逻辑)
多分支是进阶形式,实现「多选一」逻辑:按从左到右优先级依次判断条件,只要某个条件为True,执行对应代码块后直接跳出判断,else作为「兜底」,覆盖所有未满足的情况,适合需要分级判断的场景(如成绩评级、年龄分段、会员等级划分)。
# 多分支if...elif...else:按优先级分级判断
score = 92
if score >= 90:
print("优秀:基础知识扎实,继续拓展提升")
elif score >= 80:
print("良好:表现不错,需弥补细节漏洞")
elif score >= 60:
print("及格:掌握核心内容,需加强练习")
else:
print("不及格:基础薄弱,需从头梳理知识点")

图2:多条件判断逻辑流程图(and/or/not 组合使用)
二、进阶技巧:多条件组合与代码优化
实际开发中,单一条件无法满足业务需求,需要通过逻辑运算符组合多个条件实现复杂判断,同时容易出现「嵌套过深」的问题,需通过扁平化优化提升代码可读性,简单的双分支判断还可通过三元表达式简写,让代码更简洁、更易维护。
1. 逻辑运算符:and/or/not 实现多条件组合
这是实现复杂逻辑的核心,通过and/or/not三个运算符连接多个条件,精准控制判断结果,优先级为:not > and > or,可通过括号改变优先级。
and:全真才真,所有条件都为True时,结果才为Trueor:一真即真,只要有一个条件为True,结果就为Truenot:取反,将原有条件的布尔值反转
# 多条件组合:and/or/not 实战
age = 22
is_student = True
has_id = True
# and:所有条件都满足才执行
if age >= 18 and is_student and has_id:
print("符合学生优惠条件,可凭学生证享受折扣")
# or:满足一个条件即可执行
elif age >= 60 or age < 12: print("符合特殊人群优惠条件,无需额外证明") # not:取反条件 elif not is_student and age >= 20:
print("非学生群体,无专属优惠")
else:
print("暂未满足任何优惠条件")
2. 嵌套优化:避免嵌套过深(最佳实践)
支持嵌套,但嵌套超过3层会严重降低代码可读性,后期难以维护,这是零基础的常见误区。最佳优化方案是「提前判断,提前退出」,将不符合的条件先处理,剩余代码实现扁平化判断,让逻辑更清晰。
不推荐:嵌套过深(可读性差)
# 嵌套过深(反面案例)
age = 20
is_student = True
has_card = False
if age >= 18:
if is_student:
if has_card:
print("成年学生,持有学生卡,可享全额优惠")
else:
print("成年学生,未持有学生卡,需补全证明")
else:
print("成年非学生,无学生优惠")
else:
print("未成年人,需监护人陪同办理")
推荐:扁平化优化(最佳实践)
# 扁平化优化(正面案例)
age = 20
is_student = True
has_card = False
if age < 18:
print("未成年人,需监护人陪同办理")
elif not is_student:
print("成年非学生,无学生优惠")
elif has_card:
print("成年学生,持有学生卡,可享全额优惠")
else:
print("成年学生,未持有学生卡,需补全证明")
3. 简写技巧:三元表达式(一行实现双分支)
对于简单的双分支判断,无需写完整的if…else,可通过三元表达式一行实现,语法简洁,执行效率与原代码一致,适合「条件判断后给变量赋值」的场景,是常用简写技巧。
# 三元表达式:简写双分支if...else
score = 85
# 传统写法(4行)
if score >= 60:
result = "及格"
else:
result = "不及格"
# 三元表达式(1行,效果完全一致)
result = "及格" if score >= 60 else "不及格"
print(result)

图3:条件判断结合异常处理实战(成绩录入系统完整逻辑)
三、综合实战:学生成绩录入系统(结合异常处理)
纯条件判断的代码缺少「容错性」,若用户输入非数字、空值、超出范围的数值,代码会直接报错崩溃。实际开发中,需将条件判断与异常处理(try…except)结合,实现输入校验、错误捕获,让程序更健壮,这是实战核心应用。
# 条件判断+异常处理 综合实战:学生成绩录入系统
print("===== 学生成绩录入系统 =====")
try:
name = input("请输入学生姓名:")
if not name:
raise ValueError("姓名不能为空")
score = float(input("请输入学生成绩(0-100):"))
if score < 0 or score > 100:
raise ValueError("成绩必须在0-100之间")
# 多分支判断划分等级
if score >= 90:
level = "优秀"
elif score >= 80:
level = "良好"
elif score >= 60:
level = "及格"
else:
level = "不及格"
print(f"\n姓名:{name},成绩:{score:.1f}分,等级:{level}")
except ValueError as e:
print(f"输入错误:{e}")
except Exception as e:
print(f"未知错误:{e}")
四、常见易错点与避坑指南
易错点1:缩进错误(最常见)
if/elif/else后必须缩进4个空格,否则直接报错。
易错点2:elif单独使用
elif必须跟在if后,不能单独使用,else放在最后兜底。
易错点3:用=代替==
=是赋值,==是判断,条件判断必须用==。
本文详细讲解了Python条件判断的全知识点,零基础也能快速上手。想要夯实Python基础,可先学习Python基本数据类型,下一篇我们将学习Python循环结构。
更多Python官方权威语法说明,可参考Python官方if语句文档。
Python条件判断
Python零基础
Python语法
if/elif/else
本文为「小白编程笔记」原创内容 · Python零基础入门系列
版权声明:本文原创,未经授权禁止转载!

渝公网安备50022402001073号
Pingback: Python 零基础入门系列专栏:10 + 篇干货从环境搭建到语法实战,小白一站式学 Python - 小白 编程 笔记
Pingback: Python零基础入门系列专栏:10+篇干货从环境搭建到语法实战,小白一站式学Python - 小白 编程 笔记