Python のデコレータ式 (2) のつづき 1. デコレートされる関数に引数がある場合を考える これまで試したデコレータ式は、デコレートされる側の関数が引数を取らなかった。 Python のデコレータ式 (1) より、 def D(f): print u"デコレータが実行された" return f # デコレータを適用したときに、関数 D が適用される。 @D def hoge(): print "hoge" hoge() 前回は `デコレートする側に引数がある’ 場合について考えた。 Python のデコレータ式 (2) より、 def D(arg): def _(f): def __(): print "*--" * arg f() print "--*" * arg return __ return _ @D(5) def hoge(): print "hoge" hoge()