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.

     

    Verwante artikelen