一、前言:流程控制的核心作用

默认情况下,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循环 灵活度高、支持无限循环 易出现死循环,需手动控制条件 实时监听、未知次数循环、持续任务执行

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章

1 2 3 4 5