クロージャによる動的な関数定義
def mark_up(tag): # これがクロージャ # 関数の内部で定義された関数が、外側関数のローカル変数を参照しているから。 def closure(content): return '<%s>%s</%s>' % (tag, content, tag) return closure # 動的な関数定義 p = mark_up('p') print p('hello') # <p>hello</p> print p('yoshida') # <p>yoshida</p> print mark_up('title')("print 'Hello Yoshida'") # <title>print 'Hello Yoshida'</title>