風火プログラミング--関数returnの後に文を実行する--try...finallyアプリケーション

2140 ワード

try...except...else...finally用法及び説明
1.一般的な使い方
例外スナップ、論理順序の明確化
  try:
     dangerous_call()
  except Exception as e:
      logging.error(str(e))
 else:
     after_call()
 finally:
     always_call()

2.実行を確定し、重要な取引を処理する
continal,break,return,sys.exit()では、例外の後も実行されるfinally句は、重要なリソースを解放するためによく使用されます.
def function():
    try:
        main_call()
        return result
  finally:
      always_call()

面接問題の練習
に尋ねる
a =  1
def func():
    global a
    try:
        print(a) #... (1)
        a += 1 #... (2)
        return a #... (3)
        a += 1 #... (4)
        print(a) #... (5)
    finally:
        a += 1 #... (6)

b = func() #... (7)
print(b) #... (8)
print(a) #... (9)

答える
1 2 3

(1)出力aの初期値1(2)戻りこのときaの値2(3)戻りこのときaの値2(4)非実行(5)非実行(6)このときaの値3(7)funcは(3)の戻り値2(8)出力funcは(3)の戻り値2(9)出力aの最終値3