Python學習筆記(二十):閉包


接上一篇文章: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)

輸出結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章