デコレーター使用例
Pythonでのデコレーターの使用例として簡潔なコードを用意しました。
@propertyや@classmethodといった既に定義済みのものもありますが今回は自身で作成する用のデコレーターを作成しました。
他使用例等ご教授いただけると幸いです。
## 高階関数を定義
def print_deco(func :object):
def inner() #クロージャー
print('----')
func()
print('----')
return inner
## 高階関数をデコレーターとして利用
@print_deco
def decorator():
print('これはデコレーターです')
## 呼び出し
decorator()
## 出力結果
----
これはデコレーターです
----
@関数名と書くことによって関数の処理を追加することをデコレーターという。
上記では@print_decoをdecorator()関数につけたことによって
decorator = print_deco(decorator)の記述が不要になった。
@関数名を使い何らかの処理を追加することできることが分かる。
参考文献
Pythonプログラミングパーフェクトマスター.「デコレーター」.2023-11,https://www.shuwasystem.co.jp/book/9784798070667.html,(参照 2024-11-10).