1. 程式人生 > >Python的return,break,continue 區別(詳細例子)

Python的return,break,continue 區別(詳細例子)

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