Python closures
Op deze pagina:
Wanneer je een geneste functie teruggeeft aan een functie, dan heeft die geneste functie nog steeds toegang tot de variabelen die in die functie zijn gedefinieerd, ook al is die functie niet langer actief.
def tellen():
tel = 0
def ophogen():
nonlocal tel
tel += 1
return tel
return ophogen
hoger = tellen()
print(hoger()) # 1
print(hoger()) # 2
print(hoger()) # 3
De ophogen() subfunctie wordt teruggegeven en die heeft nog steeds toegang tot de tel variabele ondanks dat de tellen() functie is geeindigd.