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 是“向下跳”,跳出“三界外”,脱离循环体。