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