[僕] decolator

僕ト云フ事

たろマークはてなブックマーク

2011年02月13日

[python] decolator

Python は、関数定義の前に @decolator ってやると、その関数をラップできる。

>>> def mydecolator(func):
...     def _mydecolator(*args, **kw):
...         print "call %s(%s, %s)" % (func.__name__, args, kw)
...         return func(*args, **kw)
...     return _mydecolator
... 
>>> @mydecolator
... def hoge(x):
...     return x + 1
... 
>>> hoge(2)
call hoge((2,), {})
3

Flask は @app.route('/') とかして、デコレータで関数とルーティングのひも付けしてる。

blog comments powered by Disqus