Verificare la closure
Stai insegnando a programmare in Python a tua nipote, che sta lavorando sul ritorno di funzioni annidate. Pensa di aver scritto il codice correttamente, ma teme che la funzione restituita non abbia le informazioni necessarie quando verrà chiamata. Mostrale che tutte le variabili non locali di cui ha bisogno sono nella closure della nuova funzione.
Questo esercizio fa parte del corso
Scrivere funzioni in Python
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)