Python デコレータとは何ですか?
インターネット上の定義:
デコレータは、関数をラップし、元の関数を変更し、それを元の識別子に再割り当てし、元の関数への参照を永久に失う関数です。
デコレータの最良の例は次のとおりです:
Python は、上記のコードを簡略化するために @ シンボルの構文シュガーを提供します。これらは同じ機能を持っています
。これら 2 つのセクションのコードは同じで同等です。
3 つの組み込みデコレータは、staticmethod、classmethod、property です。これらの機能は、次のように、クラスで定義されたメソッドをそれぞれ静的メソッド、クラス メソッド、プロパティに変換することです。
ルールは 1 つだけです。ネストの順序はコードの順序と逆です。
例も見てみましょう:
def Wrap():
return "" + fn() + ""
return Wrap
def Wrap():
return "" + fn() + ""
return Wrap
@makeitalic
def hello():
return "hello world"
hello world
この結果はなぜですか?
1. まず、hello 関数は makeitalic 関数で修飾され、結果 hello world になります。
2. 次に、makebold 関数で修飾されて になります。 ;i>hello world、これは非常に簡単に理解できます。