Python-break用法详解

2021-09-09 10:26

    我们知道,在执行while循环或者for循环时,只要循环条件满足,程序将会一直执行循环体,不停地转圈。但在某些场景,我们可能希望在循环结束前就强制结束循环,Python提供了2种强制离开当前循环体的办法:

    1、使用continue语句,可以跳过执行本次循环体中剩余的代码,转而执行下一次的循环。

    2、只用break语句,可以完全终止当前循环。

    本节先讲解break的用法,continue语句放到下节做详细介绍。

    break语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是while循环还是for循环,只要执行break语句,就会直接结束当前正在执行的循环体。

    这就好比在操场上跑步,原计划跑10圈,可是当跑到第2圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了break语句提前终止了循环。

    break语句的语法非常简单,只需要在相应while或for语句中直接加入即可。例如如下程序:

add = "https://topic.kaikeba.com/biancheng/python/jiaocheng/,https://topic.kaikeba.com/biancheng/web/jiaocheng/"
# 一个简单的for循环
for i in add:
    if i == ',' :
        #终止循环
        break
    print(i,end="")
print("\n执行循环体外的代码")

    运行结果为:

https://topic.kaikeba.com/biancheng/python/jiaocheng
    执行循环体外的代码

    分析上面程序不难看出,当循环至add字符串中的逗号(,)时,程序执行break语句,其会直接终止当前的循环,跳出循环体。

    break语句一般会结合if语句进行搭配使用,表示在某种条件下跳出循环体。

    注意,通过前面的学习我们知道,for循环后也可以配备一个else语句。这种情况下,如果使用break语句跳出循环体,不会执行else中包含的代码。举个例子:

 

add = "https://topic.kaikeba.com/biancheng/python/jiaocheng/,https://topic.kaikeba.com/biancheng/web/jiaocheng/"
for i in add:
    if i == ',' :
        #终止循环
        break
    print(i,end="")
else:
    print("执行 else 语句中的代码")
print("\n执行循环体外的代码")

    程序执行结果为:

https://topic.kaikeba.com/biancheng/python/jiaocheng
执行循环体外的代码

    从输出结果可以看出,使用break跳出当前循环体之后,该循环后的else代码块也不会被执行。但是,如果将else代码块中的代码直接放在循环体的后面,则该部分代码将会被执行。

    另外,对于嵌套的循环结构来说,break语句只会终止所在循环体的执行,而不会作用于所有的循环体。举个例子:

 

add = "https://topic.kaikeba.com/biancheng/python/jiaocheng,https://topic.kaikeba.com/biancheng/web/jiaocheng"
for i in range(3):
    for j in add:
        if j == ',':
            break   
        print(j,end="")
    print("\n跳出内循环")

    程序执行结果为:

https://topic.kaikeba.com/biancheng/python/jiaocheng
跳出内循环
https://topic.kaikeba.com/biancheng/python/jiaocheng
跳出内循环
https://topic.kaikeba.com/biancheng/python/jiaocheng
跳出内循环

    分析上面程序,每当执行内层循环时,只要循环至add字符串中的逗号(,)就会执行break语句,它会立即停止执行当前所在的内存循环体,转而继续执行外层循环。

    那么读者可能会问,在嵌套循环结构中,如何同时跳出内层循环和外层循环呢?最简单的方法就是借用一个bool类型的变量。

    修改上面的程序:

add = "https://topic.kaikeba.com/biancheng/python/jiaocheng,https://topic.kaikeba.com/biancheng/web/jiaocheng"
#提前定义一个 bool 变量,并为其赋初值
flag = False
for i in range(3):
    for j in add:
        if j == ',':
            #在 break 前,修改 flag 的值
            flag = True
            break   
        print(j,end="")
    print("\n跳出内循环")
    #在外层循环体中再次使用 break
    if flag == True:
        print("跳出外层循环")
        break

    可以看到,通过借助一个bool类型的变量flag,在跳出内循环时更改flag的值,同时在外层循环体中,判断flag的值是否发生改动,如有改动,则再次执行break跳出外层循环;反之,则继续执行外层循环。

    因此,上面程序的执行结果为:

https://topic.kaikeba.com/biancheng/python/jiaocheng
跳出内循环
跳出外层循环

    当然,这里仅跳出了2层嵌套循环,此方法支持跳出多层嵌套循环。

    以上就是小编为大家整理发布的“Python-break用法详解”一文,更多相关内容尽在开课吧广场Python教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
零基础轻松入门Python