1. TOP
  2. プログラム
  3. ソフト
  4. python
  5. クロージャー

クロージャー

クロージャーとは

他の関数により動的に生成される関数です。
その関数のそ外で作られた変数の価を憶えていたり、変えたりすることができる。

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' "