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 geéindigd.

     

    Verwante artikelen