クロージャを確認する
あなたは姪にPythonのプログラミングを教えていて、彼女はいま入れ子の関数を返すコードに取り組んでいます。正しく書けたと思ってはいるものの、返された関数が呼び出されたときに必要な情報を持っているか不安に感じています。新しい関数のクロージャに、必要な非ローカル変数がすべて入っていることを示してあげましょう。
この演習はコースの一部です
Python関数の書き方
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
def return_a_func(arg1, arg2):
def new_func():
print('arg1 was {}'.format(arg1))
print('arg2 was {}'.format(arg2))
return new_func
my_func = return_a_func(2, 17)
# Show that my_func()'s closure is not None
print(my_func.____ is not None)