抜粋します。https://www.cnblogs.com/zhzhang/p/11375774.html
# - * -コーディング:UTF-8 - * - 。 #著者:宝山 #デコレータパラメータクラスと(クラスのデコレータとパラメータなしは非常に異なっている) __call__を実装する必要があり、クラス#デコレータを実装__init__と組み込み関数2。 #__init__:それは装飾的な機能を受けなくなったが、着信パラメータを受け取り; #__call__:装飾的なロジックを達成するために、装飾的な機能を受け取る クラスロガー(オブジェクト): DEF __init __(自己、レベル=「INFO」): self.level =レベル DEF __call __(自己、FUNC): DEF warpper(* argsを、** kwargsから): 印刷( "[{レベル}]:ファンクションFUNC {}()を実行しているのは..."フォーマット(レベル= self.level。 、FUNC = FUNC .__ name__)) FUNC(* argsを、** kwargsから) warpperリターン @Logger(レベル= "WARNING")は DEF(何かを)言う: 。)形式(何か) "!} {言う"(印刷 (と言います「こんにちは」)