クロージャー

クロージャーとは
他の関数により動的に生成される関数です。
その関数のそ外で作られた変数の価を憶えていたり、変えたりすることができる。
例
inner2()は,引数を要求せず、外側の関数に対するsaying引数を直接使う
kinghs2()は、inner2を呼び出すのではなく、その関数名を返す
def kinghs2(saying):
def inner2():
return "we are the knights who say: '%s'" % saying
return inner2
a = kinghs2('Deck')
b = kinghs2('Hasenpfeffer')
a()
"we are the knights who say: 'Deck' "
b()
"we are the knights who say: 'Hasenpfeffer' "