1. 程式人生 > >python - 用類寫裝飾器

python - 用類寫裝飾器

方法 bsp self. color class start spa test self

這裏用到了__call__的class內置參數

#類裝飾器:
class zsq():
    #本質是定義一個參數,讓裝飾的主題傳遞至__call__方法內部
    def __init__(self,obj):
        self.obj = obj
    #利用__call__將類轉變為可執行
    #__call__內相當於函數裝飾器最外層
    def __call__(self, *args, **kwargs):
        print("start")
        #返回主機函數
        re = self.obj(*args, **kwargs)
        
print("end") return re #裝飾 @zsq def Test(): print( "這是Test主體函數....") return "這是Test主體函數...." # 賦值,執行 a = Test() print(a)

python - 用類寫裝飾器