接上一篇文章:Python學習筆記(十九):函數引用
閉包:
在一個函數內部再定義一個函數,並且這個函數用到了外部函數的變量,那麼就稱這個內部函數爲閉包;
# 定義一個函數
def test(num):
print("=== 1 ===")
# 在函數內部再定義一個函數,並且這個函數用到了外部函數的變量,
# 那麼就稱這個內部函數爲閉包
def test_in(num2):
print("=== 2 ===")
print(num + num2)
print("=== 3 ===")
# 返回內部函數的引用
return test_in
# 調用外部函數,返回內部函數的引用,用變量 t 接收,那麼 t 就是內部函數的引用
t = test(100)
# 輸出內部函數的引用
print(t)
print("************** 分割線 **************")
# 既然 t 是內部函數的引用,那麼就可以使用 t() 調用內部函數
t(100)
輸出結果: