Pythonのデコレータ(@記号)とは?初心者にもわかりやすく解説!

2025-04-13
python3

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 のように変更しても問題ありません。

よく使われる用途


Pythonのデコレータ(@記号)を初心者向けに解説!

pygameの機能とインストール方法

PythonでTOTP・HOTPを実装する方法|ワンタイムパスワード

Python ブラウザ指定し自動で開く!webbrowserモジュール完全ガイド

Pythonでmoricons.dllのアイコンをPNGとして抽出する方法

【Python音声再生】playsoundではなくpygameを選ぶ理由とは?

Pythonのtqdmライブラリで簡単プログレスバーを実装する方法

📡Dash × PlotlyでリアルタイムスピードテストWebアプリを作る

【Python】pyttsx3のインストール方法と使い方|音声合成で日本語を喋らせる&音声ファイルに保存

【Python入門】pydubで簡単なリズムを作ってmp3保存する方法|audioopエラー対策

pydubで複数のmp3をミックスして保存する方法|音楽合成を簡単に実現

MBTI診断 | あなたの性格タイプを分析

PDFファイル結合|パスワード設定ツール

【C#】大容量ファイルを指定サイズ以下に分割する方法|.NET8対応コード付き