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语句块里的值


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM