return,break,continue 区别(详细例子)

form:https://zhidao.baidu.com/question/1958192745292032580.html


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
原文地址:https://www.cnblogs.com/junge-mike/p/12761741.html