デコレータの例
デコレータの理解が中々、難しかったので自分用にまとめました。
デコレータはシンタックスシュガー(糖衣構文)の一種で既に定義されている関数の処理に追加や変更を加える機能です。
デコレータの特徴としては、既存関数の内容を直接変更せずに、機能を追加したり変更したりするというところです。
実装例
def sample_deco(func): print("デコレーターテスト") return func @sample_deco def sample_fun(): pass sample_fun()
出力内容
デコレーターテスト
sample_funを呼び出していますが、sample_funの中身はpassで実際には空です。
しかし、出力内容にはsample_decoの部分が呼び出されています。
デコレータを使う事でsample_funの前にsample_decoを呼び出してから
sample_funを呼び出すという動きになります。