一、前言:流程控制的核心作用
默认情况下,Python代码是从上到下顺序执行的,无法实现智能判断和重复执行。而流程控制语句就是为了解决两大问题:
- 条件判断:满足A条件执行A代码,满足B条件执行B代码,实现程序“智能决策”
- 循环遍历:重复执行一段代码,无需重复编写,提升代码效率
举个直观例子:学生成绩评级、账号密码校验、批量处理文件、遍历列表数据、自动重复执行任务,全部依赖流程控制实现!
二、条件判断语句(if/elif/else)全解析
条件判断是程序的“大脑决策系统”,核心语法分为三种:单分支、多分支、嵌套判断,适配所有场景。
2.1 单分支if语句(满足条件才执行)
适用于:只需要判断一种情况,条件成立则执行代码,不成立则跳过。
语法规则:if 条件表达式: 执行代码(注意缩进!Python靠缩进区分代码块)
# 单分支if实战:判断是否成年
age = 20
if age >= 18:
print("已成年,可参与成年人权限操作")
核心解析:
1. 条件结果为布尔值(True/False),True执行代码,False跳过;
2. 冒号:必须写,新手最容易漏写报错;
3. 下方代码必须缩进(4个空格),无缩进会直接报错。
2.2 双分支if-else语句(二选一执行)
适用于:非此即彼的场景,条件成立执行if代码,不成立执行else代码。
# 双分支实战:成绩及格判断
score = 58
if score >= 60:
print("考试及格,顺利通过")
else:
print("考试不及格,需要补考")
2.3 多分支if-elif-else语句(多场景匹配)
适用于:多种条件分级场景,比如成绩评级、权限分级、分数档位判断。
执行逻辑:从上到下依次匹配,匹配成功立即执行,不再匹配后续条件。
# 多分支实战:学生成绩评级
score = 88
if score >= 90:
print("成绩等级:优秀")
elif score >= 75:
print("成绩等级:良好")
elif score >= 60:
print("成绩等级:及格")
else:
print("成绩等级:不及格")
2.4 嵌套if语句(复杂多层判断)
适用于:需要多层条件校验的场景,比如先判断年龄,再判断身份。
# 嵌套判断:成年人学生身份校验
age = 19
is_student = True
if age >= 18:
print("年龄符合成年标准")
if is_student:
print("身份:成年学生,可享受学生优惠")
else:
print("身份:成年社会人士")
else:
print("未成年,无对应权限")
三、循环语句精讲(for循环+while循环)
Python主流两种循环:for循环(遍历循环)、while循环(条件循环),各司其职,适配不同场景。
3.1 for循环(高频首选!遍历序列专用)
核心作用:遍历列表、字符串、数组、区间等序列数据,是日常开发使用最多的循环。
搭配range() 函数可实现固定次数循环,用法极简。
# 1. 固定次数循环:循环5次
for i in range(5):
print(f"第{i+1}次循环执行")
# 2. 遍历列表数据
fruit_list = ["苹果", "香蕉", "橙子", "葡萄"]
for fruit in fruit_list:
print("当前水果:", fruit)
# 3. 遍历字符串
str_text = "Python入门"
for char in str_text:
print("单个字符:", char)
核心解析:
1. range(n) 生成 0~n-1 的数字序列;
2. 自动遍历,无需手动计数,代码简洁,几乎无坑;
3. 适合:遍历数据、固定次数重复操作。
3.2 while循环(条件循环,灵活度高)
核心作用:满足条件就持续循环,条件不成立立即停止,适合未知循环次数的场景。
注意:必须设置条件终止逻辑,否则会出现死循环!
# while循环实战:打印3次学习提示
count = 0
while count < 3:
print("坚持学习Python,每日精进!")
count += 1 # 计数器自增,避免死循环
核心解析:
1. 先判断条件,条件为True执行循环体;
2. 必须手动更新条件变量(count+=1);
3. 适合:持续监听、无限循环任务、未知次数循环。
四、循环进阶:break、continue、pass关键字
三大循环控制关键字,解决循环中断、跳过、占位问题,进阶必备!
4.1 break:直接终止整个循环
满足指定条件,立刻跳出循环,不再执行后续循环。
# 遍历数字,遇到3直接终止循环
for i in range(1, 6):
if i == 3:
break
print("当前数字:", i)
# 输出:1、2
4.2 continue:跳过本次循环,执行下一次
满足条件时,跳过当前这一次循环,直接进入下一轮循环,不终止整体循环。
# 跳过数字3,继续循环
for i in range(1, 6):
if i == 3:
continue
print("当前数字:", i)
# 输出:1、2、4、5
4.3 pass:占位语句,无实际作用
仅用于占位,保证代码结构完整,避免空代码块报错,开发调试常用。
if 10 > 5:
pass # 暂时不写代码,占位防报错
五、新手高频避坑指南(重点!90%新手都踩过)
坑1:缩进错误(最基础最高频报错)
Python依靠缩进区分代码块,if、for、while下方代码必须缩进,缩进混乱直接报错。
# 错误写法(无缩进)
if 10 > 5:
print("条件成立")
# 正确写法(4空格缩进)
if 10 > 5:
print("条件成立")
坑2:while循环死循环
while循环未更新条件变量,导致条件永久为True,程序无限循环卡死。
# 错误死循环代码
count = 0
while count < 3:
print("死循环")
# 正确代码:添加自增
count = 0
while count < 3:
print("正常循环")
count += 1
坑3:多分支判断顺序错误
elif从上到下匹配,宽松条件必须放后面,否则会判断失效。
# 错误写法:顺序颠倒,高分被低级条件匹配
score = 95
if score >= 60:
print("及格")
elif score >= 90:
print("优秀") # 永远不会执行
# 正确写法:严格条件在前,宽松条件在后
score = 95
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
坑4:漏写冒号:
if、elif、else、for、while 语句末尾必须加冒号,漏写直接语法报错。
六、场景选型对照表(新手直接抄)
| 语法类型 | 核心优点 | 缺点 | 适用场景 |
|---|---|---|---|
| if单分支 | 逻辑简单、代码简洁 | 仅支持单一条件判断 | 只需判断一种成立场景 |
| if-else双分支 | 二选一判断,逻辑清晰 | 不支持多档位判断 | 是非、对错两类场景判断 |
| if-elif-else | 支持多条件分级匹配 | 条件顺序不能错乱 | 成绩评级、权限分级、多档位筛选 |
| for循环 | 自动遍历、无死循环、代码简洁 | 不适合未知次数监听 | 遍历数据、固定次数循环、批量操作 |
| while循环 | 灵活度高、支持无限循环 | 易出现死循环,需手动控制条件 | 实时监听、未知次数循环、持续任务执行 |













