首页 > Python笔记 阅读数:41

Python break和continue用法及区别

在佛教中,常有“超出三界外,不在五行中”的说法,意为摆脱某种循环周始的羁绊,方得解脱。在程序设计中,我们也常有类似的需求。在满足某些条件时,我们希望跳出 for 循环或 while 循环,这时就需要借助 break、continue 等语句。它们都是用来控制程序流程转向的,但在执行细节上是有区别的。

break 语句也称为中断语句,它通常用来在适当的时候直接退出循环,执行循环之外的语句,如下所示。
n = 1
while n <= 100:
    if n>50:         #当n = 51时,条件满足,执行break语句
        break       # break 语句会跳出 while 循环
    print(n)
    n = n + 1
print('END')

上述代码,其完成的功能是,打印出 1~50 后,紧接着跳转到 print 语句,打印 END,程序结束。由此可见,break 语句的作用是提前结束本层循环。如果是嵌套循环,break 语句可跳出内层循环,执行外层循环。

相比于 break 语句,continue 语句的功能有所不同,它是在满足条件时,仅仅跳过 continue 后面的余下部分,提前进入下一轮循环,如下所示。
n = 0
while n < 100:
    n = n + 1
    if n % 2 == 0:      #如果n是偶数,执行 continue 语句
        continue       # continue语句会直接继续下一轮循环
    print(n)

对于上述代码,其功能是输出 1~10 中的奇数,即 1、3、5、7、9。当 n 为偶数时,continue 语句后面的 print(n) 不执行,直接开始下一轮循环。可见 continue 的作用是,提前结束本轮循环,整个循环的次数,其实一次都没有少,不过是部分循环并没有执行完罢了(以 continue 为分割线)。

总结一下,continue 是“向上跳”,跳不出如来掌心,仍然还在循环体内。break 是“向下跳”,跳出“三界外”,脱离循环体。

相关文章