ホームページ >バックエンド開発 >Python チュートリアル >関数デコレータはどのように機能し、どのようにチェーンできるのでしょうか?
デコレータは、他の関数を変更する関数です。これらは、関数を直接変更せずに関数の動作を強化または拡張する方法を提供します。
構文:
@decorator_function def function_to_decorate(): # Function body
デコレータつまり、複数のデコレータを同じ関数に適用できます。デコレータをチェーンする順序が重要です。
@decorator2 @decorator1 def function_to_decorate(): # Function body
この例では、decorator1 が最初に適用され、その後にdecorator2 が適用されます。
目的の結果を達成するには出力では、カスタム デコレータを作成できます:
# Decorator for bolding text def makebold(fn): def wrapper(): return "<b>" + fn() + "</b>" return wrapper # Decorator for italicizing text def makeitalic(fn): def wrapper(): return "<i>" + fn() + "</i>" return wrapper @makebold @makeitalic def say(): return "Hello" print(say()) # Output: "<b><i>Hello</i></b>"
この例では、@makebold デコレータが適用されます最初に @makeitalic が続きます。出力は、太字と斜体のタグで囲まれた「Hello」です。
以上が関数デコレータはどのように機能し、どのようにチェーンできるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。