python中try里有return时,finally还执行不执行

Posted 飒蓝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中try里有return时,finally还执行不执行相关的知识,希望对你有一定的参考价值。

写一个函数,在try里返回,最后在finnaly里打印语句,代码如下

def fun1():
    x = 1
    try:
        print(\'执行try\')
        x = x + 1
        # x = x / 0  # 执行次语句时,finally执行时,x的值依然是4
        return print(\'执行try的return\', x)
    except:
     
print(\'异常\') return x finally: x += 1 x += 1 print(\'finally执行:\', x)

执行结果如下图所示:

 

 

 由此可以看出,函数的执行顺序就是按照 try - except - finally的顺序执行,

也就是说,finally语句块总是会被执行的,并且如果finally里有 try语句块里的变量

那么,该变量会继承try语句块里的值

以上是关于python中try里有return时,finally还执行不执行的主要内容,如果未能解决你的问题,请参考以下文章

JAVA面试题-阿辉try catch finally , try 里有 return , finally 还执行么?

JAVA面试题-阿辉try catch finally , try 里有 return , finally 还执行么?

JAVA面试题-阿辉try catch finally , try 里有 return , finally 还执行么?

try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?

try {}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会不会被执行,什么时候被执行,在 return 前还是后?

try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行