Geneste Functies
Veeg om het menu te tonen
Wanneer je je code wilt organiseren voor betere leesbaarheid, encapsulatie of hergebruik, kun je een functie binnen een andere functie definiëren. Dit worden geneste functies genoemd. In Python maak je een geneste functie door een functiedefinitie te schrijven binnen het lichaam van een andere functie. Hiermee kun je hulplogica verbergen die niet van buitenaf toegankelijk mag zijn, of gespecialiseerde functies direct genereren.
De syntaxis voor een geneste functie is eenvoudig: plaats simpelweg een def-statement binnen het lichaam van een andere def. De binnenste functie heeft toegang tot variabelen van de omringende functie, wat handig is voor het creëren van aangepaste functionaliteit of hulpfuncties die afhankelijk zijn van de argumenten van de buitenste functie.
Een praktisch gebruik van geneste functies is het retourneren van een functie die is aangepast met parameters uit de buitenste functie. Dit wordt vaak gebruikt in functioneel programmeren om gespecialiseerde functies te genereren of om logica te kapselen die niet in de globale scope thuishoort.
1234567891011def make_multiplier(factor): # 'multiplier' function is nested inside 'make_multiplier' def multiplier(x): return x * factor return multiplier double = make_multiplier(2) triple = make_multiplier(3) print(double(5)) print(triple(4))
1. Waarom zou je een functie binnen een andere functie definiëren?
2. Wat is de scope van een variabele die is gedefinieerd in een omvattende functie?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.