クラスのデコレータデコレータと機能

インポート

函数装饰器
デフランタイム(FUN1):
     DEF、内側(* argsを、** kwargsから):
         "" " インナーDOC """ 
        のstart_time = time.time()
        F = FUN1(* argsを、** kwargsから)
        時間.sleep( 1 
        END_TIME = time.time()
        間隔 = END_TIME - START_TIMEの
         印刷" 関数%sの运行时间:%S "%(FUN1。__name__ 、間隔))
     リターンF
戻るインナー @runtime デフfun_a(A): "" " fun_a:+こんにちは""" 印刷" こんにちは" + a)の #の印刷(fun_a .__ name__) 印刷(fun_a .__ doc__内の例題) fun_a(' A ' 类装饰器 クラスランタイム(オブジェクト): デフ __init__(自己、遅延= 1 ): self.delay = 遅延 デフ __call__ (自己、楽しい): "" " ランタイムドキュメント""" defのインナー(* argsを、** kwargsから): "" " インナーDOC """ のstart_time = time.time() F =楽しい(* argsを、** kwargsから) time.sleep(self.delay -1 END_TIME = time.time() 間隔 = END_TIME - START_TIMEの 印刷" 関数%sの运行时间:%4F "%(。楽しい__name__ 、間隔)) 戻りfは 戻り内側 @Runtimeを( 2 DEF fun_a(A): ""」fun_a:こんにちは+ A""」 印刷" こんにちは" + a)の プリント(fun_a。__name__ プリント(fun_a。__doc__ fun_a(' A '

 

おすすめ

転載: www.cnblogs.com/zhouzz2019/p/10948026.html