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

 

posted @ 2020-04-23 16:29  蜘蛛侠不会飞  阅读(410)  评论(0编辑  收藏  举报

俺的博客

https://blog.csdn.net/qq_40587575

俺的公众号