Python closure(閉包)closure(閉包)closure(閉包)解釋:

 

closure(閉包)什麼是 closure(閉包)?

closure 就是:

一個「函式」,裡面用到了「外面函式的變數」,而這個「外面函式已經結束了」,可是那個變數還被記得。

 

closure(閉包)白話想像一下:

就像你去買早餐,老闆說:

「你點的蛋餅我還記得,雖然你已經離開點餐台,但我等一下會幫你做!」

這個「老闆記得你點的東西」的感覺,就是 closure 的概念 closure(閉包) 離開現場,但變數還留著用!

 

closure(閉包)Python 範例

def outer():
    msg = "Hello"

    def inner():
        print(msg)  # 用到外面的變數 msg

    return inner  # 把函式當作結果傳出去

# 用法
f = outer()  # outer() 執行完了,但 msg 還被記得
f()  # 印出 Hello

 

closure(閉包)為什麼這樣做?

因為 closure 讓你可以:

closure(閉包)保存狀態(像記憶)

closure(閉包)做成更聰明的函式(像小助手)

closure(閉包)避免用太多全域變數

closure(閉包)

創作者介紹
創作者 🌱庭婕的部落格🌱 的頭像
庭婕

🌱庭婕的部落格🌱

庭婕 發表在 痞客邦 留言(0) 人氣( 14 )