Pythonのデコレータ

Pythonでは@キーワードを使って関数などのオブジェクトをmodifyできます。

>>> @dec
... def func():
...   pass

と書くと、実際には

>>> def func():
...   pass
...
>>> func = dec(func)

の動作となり、関数funcをmodifyできる形になります。

ちなみに、このデコレータはネストも可能で、

>>> @dec2
... @dec1
... def func():
...   pass

と書くと、

>>> func = dec2(dec1(func))

となります。

コメントを残す

メールアドレスが公開されることはありません。