デコレータ
やべぇ、まだ分かってねぇ。
そして頭が沸いてきたので今日はここまでにしよう。
デコレータの利用 - いろいろ備忘録日記
http://morchin.sakura.ne.jp/effective_python/decorator.html
辺りをつらつら読んだが把握しきれずorz
クロージャとかが関係しているくさいが…
ま、明日辺りにがんばろう。
とりあえず
def deco(func): print "Hello, world!" @deco def foo(): print "I'm never called." def foo2(): print "I'm never called." foo2 = deco(foo2) def main(): foo foo2 if __name__ == "__main__": main()
とすると、
D:\workspace\Python\3-8>python test.py Hello, world! Hello, world!
と出力される。
foo()とfoo2()にdeco()のprint文がラップされたことになるのかな??
まだよく分からんけど、未知なる面白さがありそうな予感。
そろそろ言語の深いところに踏み込んできた感じがしなくもない。
そして、それにしたがって、理解度曲線が大幅に下落してきた。