Sprawdzanie domknięcia
Uczysz swoją siostrzenicę programowania w Pythonie. Pracuje ona nad zwracaniem zagnieżdżonych funkcji. Wydaje jej się, że kod jest poprawny, ale martwi się, że zwrócona funkcja nie będzie miała dostępu do potrzebnych danych w momencie wywołania. Pokaż jej, że wszystkie zmienne nielokalne, których potrzebuje, są przechowywane w domknięciu nowej funkcji.
To ćwiczenie jest częścią kursu
Pisanie funkcji w Pythonie
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)