Aan de slagGa gratis aan de slag

Controleren op een closure

Je leert je nichtje programmeren in Python, en zij is bezig met het retourneren van geneste functies. Ze denkt dat ze de code goed heeft geschreven, maar is bang dat de geretourneerde functie bij het aanroepen niet over de benodigde informatie zal beschikken. Laat haar zien dat alle nonlocal-variabelen die ze nodig heeft in de closure van de nieuwe functie zitten.

Deze oefening maakt deel uit van de cursus

Functies schrijven in Python

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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)
Code bewerken en uitvoeren