寫一個函數,在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語句塊里的值