详解Python流程控制语句

闻溪
闻溪
发布时间:2026-10-11| 4人浏览过
原创

本文深入解析Python的三大流程控制结构:顺序、分支与循环。详细讲解if-else、elif的多级判断逻辑,以及while和for循环的执行机制。通过具体代码示例,展示break、continue和pass关键字的实际应用,帮助开发者掌握控制代码执行路径的核心技巧。

Python流程控制基础

在编程中,流程控制决定了代码的执行顺序。Python提供了三种基本的控制结构:顺序结构、分支结构和循环结构。顺序结构默认按照代码书写顺序从上到下执行;分支结构用于根据条件选择不同的执行路径;循环结构则用于重复执行特定代码块,从而减少冗余代码并提升效率。

分支结构:if语句详解

分支结构的核心是 if 语句,它根据条件表达式的真假来决定是否执行对应的代码块。当条件表达式返回 True 时,执行缩进后的代码;否则跳过。

单项分支

最基本的形式是单项分支,仅包含 if 判断。以下示例展示了如何根据职业变量输出对应的评价:

job = "programmer"
if job == "programmer":
   print("钱多")
   print("话少")
   print("*的早")

双向分支:if-else

当需要处理条件不成立的情况时,使用 else 子句。如果 if 条件为假,则执行 else 块中的代码:

job = "programmer"
if job == "programmer":
   print("钱多")
   print("话少")
   print("*的早")
else:
   print("给你小红花儿~")

多项分支:if-elif-else

对于多条件判断,使用 elif 进行链式判断。程序会依次检查每个条件,一旦某个条件成立,执行对应代码块并跳过后续判断;若所有条件均不成立,则执行 else 块:

money = False
car = False
house = False
if money == True:
   print("你是土豪么???")
elif car == True:
   print("你是有一辆蹦蹦嘛???")
elif house == True:
   print("你是什么房子啊?")
else:
   print("你是个好人~")

巢状分支

分支结构可以相互嵌套,形成复杂的逻辑判断。例如,在判断财富状况的同时,进一步判断资产细节:

money = False
car = True
house = True
if money == True:
   print("你是土豪么???")
   if house == True:
      print("你是什么房子啊?")
      if car == True:
         print("你是有一辆蹦蹦嘛???")
      else:
         print("其实还可以~")
   else:
      print("感觉差点意思~")
else:
   print("你是个好人~")

循环结构:while与for

循环结构用于重复执行代码。Python主要提供 while 和 for 两种循环方式。

while循环

while 循环在条件为真时重复执行代码块。书写时需注意三个要素:初始化变量、设定循环条件、更新变量(如自增)。

基础示例:打印1到100的所有数字:

# 打印1~100所有数字
i = 1
while i <= 100:
   print(i)
   i += 1

累加示例:计算1到100的总和:

# 打印1~100的累加和
i = 0
total = 0
while i <= 100:
   total += i
   i += 1
print(total)

死循环:若条件始终为真,将形成死循环。例如:

while True:
   print("死循环")

for循环

for 循环用于遍历可迭代对象(如列表、字符串、range对象等)。其语法为 for 变量 in Iterable: code。

range 函数常用于生成数字序列,格式为 range(开始值, 结束值, 步长),其区间为左闭右开 [开始值, 结束值)。与 while 相比,for 更适用于已知迭代次数的场景,而 while 更适合处理复杂逻辑关系。在某些情况下,两者可以互相转换。

循环控制关键字

在循环中,可以使用特定关键字来控制执行流程。

pass:占位符

pass 语句表示“什么都不做”,常作为代码块的占位符,保持语法结构完整:

while True:
   pass

break:终止循环

break 用于立即终止当前所在的循环,跳出循环体。例如,在1到10的循环中,遇到5时终止:

# 1~10,遇到5终止循环
i = 1
while i <= 10:
   print(i)
   if i == 5:
      break
   i += 1

continue:跳过当前迭代

continue 用于跳过当前循环的剩余代码,直接进入下一次迭代。例如,打印1到100中不含数字4的所有整数:

# 打印1~100中不含4的数字
i = 1
while i <= 100:
   strvar = str(i)
   if "4" in strvar:
      i += 1
      continue
   print(i)
   i += 1

注意事项与排错

在使用 while 循环遍历集合(如 set)时,需注意集合是无序的,不能通过索引访问元素。以下代码会导致错误:

# Error
# setvar = {"a", "b", "c"}
# i = 0
# while i < len(setvar):
   # print(setvar[i])
   # i+=1

若需遍历集合,建议直接使用 for 循环或将其转换为列表后再操作。

总结

掌握Python的流程控制语句是编写高效代码的基础。通过灵活运用 if-else 分支和 while/for 循环,结合 break、continue 和 pass 等控制关键字,可以精确掌控程序的执行路径。以上就是详解Python流程控制语句的详细内容,更多关于Python基础教程的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。