Pythonのデコレータ

Python のデコレータについて記載する。 デコレート、つまり関数を修飾することができ、 共通部分の作り込みに役立つ手法の一つである。

デコレータ:deco をtest_funcに付与したコードを以下に記載する。

ソースコード

def deco(func):
    def wrraper(*args, **kwargs):
        print('start')
        func(*args, **kwargs)
        print('end')
    return wrraper

@deco
def test_func(word):
    print(word)

word = 'test_word'
test_func(word)

出力結果

start
test_word
end

デコレータ:deco のfunc(*args, **kwargs) にて関数:test_funcが実行されており、 start、test_word、end の順でprintされていることを確認できる。