Pythonのデコレータ(@記号)とは?初心者にもわかりやすく解説!
2025-04-13
Pythonには、「デコレータ」という便利な機能があります。これは、関数やクラスに対して簡単に処理を追加するための仕組みです。
デコレータとは何か?
Pythonでは、関数の前に @ をつけて関数名を書くことで、別の関数を通して動作を変えることができます。
デコレータの基本構文
def デコレータ関数(func):
def wrapper():
# 追加したい処理
func()
# 終了後の処理
return wrapper
@デコレータ関数
def 対象の関数():
print("元の関数の処理")
このように @デコレータ関数 を使うことで、元の関数に別の処理を追加できます。
実際の例:簡単なデコレータ
def my_decorator(func):
def wrapper():
print("処理の前")
func()
print("処理の後")
return wrapper
@my_decorator
def say_hello():
print("こんにちは!")
say_hello()
実行結果:
処理の前
こんにちは!
処理の後
デコレータ名は自由につけられる
@my_decorator の部分は、好きな名前を使うことができます。たとえば、@cool_wrapper のように変更しても問題ありません。
よく使われる用途
- ログを記録する
- 実行時間を計測する
- 権限のチェック(ログイン済みかなど)
- キャッシュ処理(例:
@lru_cache)
PythonでTOTP・HOTPを実装する方法|ワンタイムパスワード
Python ブラウザ指定し自動で開く!webbrowserモジュール完全ガイド
Pythonでmoricons.dllのアイコンをPNGとして抽出する方法
【Python音声再生】playsoundではなくpygameを選ぶ理由とは?
Pythonのtqdmライブラリで簡単プログレスバーを実装する方法
📡Dash × PlotlyでリアルタイムスピードテストWebアプリを作る
【Python】pyttsx3のインストール方法と使い方|音声合成で日本語を喋らせる&音声ファイルに保存
【Python入門】pydubで簡単なリズムを作ってmp3保存する方法|audioopエラー対策