Python 语言不提供 goto 语句来控制程序跳转。虽然这种方法提高了程序流控制的可读性,但它降低了灵活性。为了弥补这一不足,Python 提供了 continue 和 break 来控制循环结构。本节首先解释break的用法。
有时需要在条件发生时强制终止循环,而不是等到循环条件为 False 后再退出循环。此时可以使用break来完成这个功能。
break 用于完全结束一个循环并跳出循环体。不管是哪种循环,一旦在循环体中遇到了break,系统就会彻底结束循环,开始执行循环后的代码。例如下面的程序:
# 一个简单的for循环
for i in range(0, 10) :
print("i的值是: ", i)
if i == 2 :
# 执行该语句时将结束循环
break
运行上面程序,将看到 i 循环到 2 时即结束,因为当 i 等于 2 时,在循环体内遇到了 break 语句,程序跳出该循环。
对于带 else 块的 for 循环,如果使用 break 强行中止循环,程序将不会执行 else 块。例如如下程序:
# 一个简单的for循环
for i in range(0, 10) :
print("i的值是: ", i)
if i == 2 :
# 执行该语句时将结束循环
break
else:
print('else块: ', i)
上述程序也会在 i 等于 2 时跳出循环,此时 for 循环不会执行 else 块。
在使用break语句的情况下,循环的else代码块与直接放在循环体之后是不同的,即如果代码块放在else块中,当程序使用break终止循环时,循环不会执行else块;如果代码块直接放在循环体之后,当程序使用break中止循环时,程序自然会执行循环体之后的代码块。
Python 的 break 语句不能像其他语言那样使用标签,所以它只能结束它所在的循环,而不是嵌套循环的外循环。
为了使用break语句跳出嵌套循环的外层循环,可以先定义一个bool类型的变量来表示是否需要跳出外层循环,然后在内层使用两个break语句循环和外循环来实现这一点。例如下面的程序:
exit_flag = False
# 外层循环
for i in range(0, 5) :
# 内层循环
for j in range(0, 3 ) :
print("i的值为: %d, j的值为: %d" % (i, j))
if j == 1 :
exit_flag = True
# 跳出里层循环
break
# 如果exit_flag为True,跳出外层循环
if exit_flag :
break
上面程序在内层循环中判断 j 是否等于 i,当 j 等于 i 时,程序将 exit_flag 设为 True,并跳出内层循环;接下来程序开始执行外层循环的剩下语句,由于 exit_flag 为 True,因此也会执行外层循环的 break 语句来跳出外层循环。
运行上面程序,将看到如下运行结果:
i的值为: 0, j的值为: 0
i的值为: 0, j的值为: 1
程序从外循环进入内循环后,当j等于i时,程序设置exit_flag为True,跳出内循环;然后程序执行外循环的break语句跳出外循环。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中选择round要注意什么12/09
- ♥ 如何在python中删除换行符10/18
- ♥ 如何判断一个变量是否是python中的字符串10/08
- ♥ 什么是python模型集成12/12
- ♥ python的官网是什么09/12
- ♥ 如何用python打开csv文件路径09/09
内容反馈