迴圈中的pass、continue以及break
阿新 • • 發佈:2018-11-10
說明
pass
、continue
以及break
常用於控制迴圈的執行,它們的功能如下:
pass
:即“通過”的意思,程式執行至pass
處會繼續執行後續的部分continue
:即“繼續”的意思,程式執行至continue
處將不再執行位於其下方的、且與continue
包含在同一最底層迴圈中的所有程式碼,而是執行該迴圈體的下一次迴圈break
:即“打斷”的意思,程式執行至break
處將不再執行其所在的最底層的迴圈體的後面的所有程式碼,也不會執行該迴圈體的後續所有迴圈
例子
pass
的例子
for i in range(2): for j in range(3): if j == 2: pass print("still run") else: print('j =',j,',','i =',i) print('*'*10)
輸出為:
j = 0 , i = 0
**********
j = 1 , i = 0
**********
still run
**********
j = 0 , i = 1
**********
j = 1 , i = 1
**********
still run
**********
可以看出,pass
之後的同級語句仍可以執行。
continue
的例子
for i in range(2): for j in range(4): if j == 2: continue print("cannot run") else: print('j =',j,',','i =',i) print(j,'*'*10) #與continue不是同級程式碼,但位於同一迴圈變數為j的for迴圈
執行結果為:
j = 0 , i = 0
0 **********
j = 1 , i = 0
1 **********
j = 3 , i = 0
3 **********
j = 0 , i = 1
0 **********
j = 1 , i = 1
1 **********
j = 3 , i = 1
3 **********
可以看出,當continue
執行時,其所屬的最底層迴圈體之內的所有的位於continue
之後的語句均不執行,無論是否與continue
同級。即程式進入了上述迴圈體的下一次迴圈。
break
的例子
for i in range(2): for j in range(4): if j == 2: break print("cannot run") else: print('j =',j,',','i =',i) print(j,'*'*10)
執行結果如下:
j = 0 , i = 0
0 **********
j = 1 , i = 0
1 **********
j = 0 , i = 1
0 **********
j = 1 , i = 1
1 **********
可以看出,break
執行後,不但其所屬迴圈體的後續程式碼不再執行,而且該迴圈體的後續迴圈也不再執行,即該迴圈體結束了。但更高層的迴圈體可以繼續執行。
總結
可以看出,無論是pass
、continue
還是break
,其作用範圍均為其所在的迴圈體內,這一點值得注意。