1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python 高階関数をデコレーターとして使う方法

Last updated at Posted at 2024-11-10

デコレーター使用例

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).

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?