クロージャー
![](http://www.mk1131.com/wp-content/uploads/2020/03/2016-05-02_103852_GX1-1024x769.jpg)
クロージャーとは
他の関数により動的に生成される関数です。
その関数のそ外で作られた変数の価を憶えていたり、変えたりすることができる。
例
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' "