Python 流程控制基础
循环是编程的基石,它允许我们重复执行代码直到满足特定条件。但在实际开发中,我们常常需要提前终止循环、跳过某次迭代,或者仅仅为未来实现预留一个空代码块。
Python 提供了三个特殊的流程控制语句,每个都针对循环和条件结构中的特定场景而设计。
无控制语句时的循环行为
在学习控制语句之前,理解循环的默认行为至关重要。默认情况下,循环会从头到尾执行所有迭代:
for i in range(5):
print(i)
执行结果:
0
1
2
3
4
标准的 for 循环会处理序列中的所有元素。要改变这一行为,就需要用到特殊的控制语句。
break 语句:中断循环执行
break 的工作原理
break 语句会立即终止它所在的最内层循环,无论是 for 循环还是 while 循环。
for i in range(10):
if i == 5:
break
print(i)
执行结果:
0
1
2
3
4
一旦变量 i 达到 5,循环执行被完全中断,剩余的迭代不再执行。
break 的实际应用场景
break 语句广泛应用于以下场景:
- 满足条件时提前终止循环
- 退出可能无限循环的代码
- 在序列中查找第一个匹配的元素
- 在循环中处理关键错误
查找数字的第一个因数
n = 17
for i in range(2, n):
if n % i == 0:
print(f"第一个因数是:{i}")
break
else:
print("这是一个质数")
重要特性:如果循环自然结束而没有执行 break,则会触发 else 块。这让我们能区分循环的两种结束方式。
continue 语句:跳到下一次迭代
continue 的工作机制
continue 语句会跳过当前迭代中剩余的代码,直接进入循环的下一个步骤。循环会继续执行,但某些特定值会被特殊处理。
for i in range(5):
if i == 2:
continue
print(i)
执行结果:
0
1
3
4
值 2 被完全跳过,因为当 i == 2 时触发了 continue 语句。
continue 的常见用途
continue 常用于:
- 过滤掉不需要的值
- 处理文件时跳过某些行
- 实现数据验证条件
- 在解析器和处理器中创建过滤器
过滤偶数
for i in range(10):
if i % 2 == 0:
continue
print(i)
执行结果:
1
3
5
7
9
所有偶数都被跳过,只输出奇数。
pass 语句:空操作
pass 语句的作用
pass 语句是一个空操作,它不执行任何动作,但在 Python 期望有语句的地方,它在语法上是必需的。
for i in range(5):
if i == 3:
pass
print(i)
执行结果:
0
1
2
3
4
当 i == 3 时,pass 语句被执行,但它对程序执行流程没有任何影响。