在面向對象(OOP)的設計模式中,decorator被稱為裝飾器。
OOP的裝飾器模式需要通過繼承群組合來實作,因為傳回的那個wrapper()函數的名字就是‘wrapper’,即需要把原始函數的 _ _ name _ _等屬性複制到wrapper()函數中,否則,有些依賴函數簽名的代碼執行就會出錯。
import.functools是導入functools子產品。隻要記住再wrapper()的前面加上@functools.wraps(func)即可。
在面向對象(OOP)的設計模式中,decorator被稱為裝飾器。
OOP的裝飾器模式需要通過繼承群組合來實作,因為傳回的那個wrapper()函數的名字就是‘wrapper’,即需要把原始函數的 _ _ name _ _等屬性複制到wrapper()函數中,否則,有些依賴函數簽名的代碼執行就會出錯。
import.functools是導入functools子產品。隻要記住再wrapper()的前面加上@functools.wraps(func)即可。