Python的return,break,continue 區別(詳細例子)
阿新 • • 發佈:2019-01-23
return 會直接另函式返回,函式就執行結束了,所有該函式體內的程式碼都不再執行了,所以該函式體內的迴圈也不可能再繼續執行。
如果你需要讓迴圈繼續執行,就不能return函式,而應該選用break或者continue。
break:跳出所在的當前整個迴圈,到外層程式碼繼續執行。
continue:跳出本次迴圈,從下一個迭代繼續執行迴圈,內層迴圈執行完畢,外層程式碼繼續執行。
return:直接返回函式,所有該函式體內的程式碼(包括迴圈體)都不會再執行。
#coding=gbk #這是測試使用的程式碼模組 def return_continue_break(type): if(not type in ["return", "continue", "break"]): print('"type" should be "return, continue, break".') return for j in range(0, 5): for i in range(0, 5): print('j_i:%d, %d'%(j, i)) if(i > 3): if(type == "return"): return elif(type == "continue"): continue else: break print("executed!") if __name__ == '__main__': return_continue_break("break") return_continue_break("continue") return_continue_break("return")
備註:上述程式碼在雙層迴圈間執行: if i == 3 : 語句,在執行continue 和 break 時, 兩者的區別比較明顯。
執行:return_continue_break("break")
j_i:0, 0 executed! j_i:0, 1 executed! j_i:0, 2 executed! j_i:0, 3 executed! j_i:0, 4 j_i:1, 0 executed! j_i:1, 1 executed! j_i:1, 2 executed! j_i:1, 3 executed! j_i:1, 4 j_i:2, 0 executed! j_i:2, 1 executed! j_i:2, 2 executed! j_i:2, 3 executed! j_i:2, 4 j_i:3, 0 executed! j_i:3, 1 executed! j_i:3, 2 executed! j_i:3, 3 executed! j_i:3, 4 j_i:4, 0 executed! j_i:4, 1 executed! j_i:4, 2 executed! j_i:4, 3 executed! j_i:4, 4
執行:return_continue_break("continue")
j_i:0, 0 executed! j_i:0, 1 executed! j_i:0, 2 executed! j_i:0, 3 executed! j_i:0, 4 j_i:1, 0 executed! j_i:1, 1 executed! j_i:1, 2 executed! j_i:1, 3 executed! j_i:1, 4 j_i:2, 0 executed! j_i:2, 1 executed! j_i:2, 2 executed! j_i:2, 3 executed! j_i:2, 4 j_i:3, 0 executed! j_i:3, 1 executed! j_i:3, 2 executed! j_i:3, 3 executed! j_i:3, 4 j_i:4, 0 executed! j_i:4, 1 executed! j_i:4, 2 executed! j_i:4, 3 executed! j_i:4, 4
執行:return_continue_break("return")
j_i:0, 0
executed!
j_i:0, 1
executed!
j_i:0, 2
executed!
j_i:0, 3
executed!
j_i:0, 4