Python基礎篇---閉包函式和裝飾器
阿新 • • 發佈:2022-03-18
本章內容
• 閉包函式
• 裝飾器簡介
• 裝飾器版本
• 裝飾器模板
• 裝飾器語法糖
• 裝飾器修復技術
閉包函式
閉包函式的概念
閉:定義在函式內部的函式
包:內部函式使用了外層函式名稱空間中的名字
def outer(): x = 999 def inner(): # inner函式在outer裡面,符合閉的特徵 print('from outer>>>inner',x) # 變數名x 是從外層函式outer獲取值 return inner x= 666 res = outer() res()
def outer(username): # username = 'jason' def index(): print(username) # 永遠使用的都是jason return index res = outer('kevin') # 形參username與值kevin臨時繫結 >>>:outer區域性名稱空間中 res() # 輸出 kevin res1 = outer('jason') # 形參username與值kevin臨時繫結 >>>:outer區域性名稱空間中res1() # 輸出 jason
裝飾器簡介
裝飾器並不是一個新的知識點 而是名稱空間,函式名和閉包函式的知識點整合起來的產物。
裝飾器的本質是在不改變裝飾物件原有的'呼叫方式'和'內部程式碼'的情況下給被裝飾物件新增新的功能。
裝飾器的原則是對擴充套件開放,對修改封閉。
裝飾器版本