PythonのDecorator

きっかけはwycatsのこの記事

Python Decorators in Ruby « Katz Got Your Tongue?

RubyPythonのDecoratorを実装してみたよー」ってことらしいが、Pythonなんてprintしか知らない僕にはDecoratorがなんだかわからない。
元が何者だかわかっていないので、Rubyでの実装コードを見てみても、いまいち掴めない。


というわけで、手を動かしてPython書いてみた。
下記ページのサンプルを動かしてみた程度。

Python decorator

python のデコレーターは closure に syntax sugar を かぶせたものだと言われます。

とのことです。
元の関数をすり替えてしまえるし、Closureの引数として元の関数自体も呼び出せる。
パッと使い道は出てこないけど、便利そうな感じがしますね!


ここまでやったところで、1年前にRubyで実装されていたのを見つけた。

http://d.hatena.ne.jp/technohippy/20080723#1216808401
http://yugui.jp/articles/792

とりあえず、Decoratorがちょっとわかった。
あとは自分で実装してみる!・・・かどうかはわからない。