Geavanceerde Python-ontwikkelingscursus
Hoofdstuk 1
>
Niveau 2
Codeboek
Level 2: Manueel een Generator Vooruitzetten | ### Generators in Python Een generator in Python is een functie die gebruikt wordt om een iteratieoverzicht te produceren, maar in plaats van het hele gegevensverloop tegelijk te retourneren, produceert het items één voor één en alleen wanneer dat nodig is. Dit wordt gedaan met behulp van het `yield`-sleutelwoord in plaats van `return`. #### Waarom generators gebruiken? - **Efficiënt geheugengebruik**: Door gegevens één voor één te produceren, vermijden generators het opslaan van hele lijsten in het geheugen, wat vooral voordelig is bij het werken met grote gegevensverzamelingen. - **Gemakkelijk te implementeren**: Generators zorgen voor invoer en controle van iteratiestromen zonder het gebruik van tussenliggende lijsten. #### Hoe werken generators? Een eenvoudige generator kan als volgt worden gedefinieerd: ```python def eenvoudige_generator(): yield 1 yield 2 yield 3 ``` Gebruik de generator als volgt: ```python for waarde in eenvoudige_generator(): print(waarde) ``` Dit zal de uitvoer van 1, 2 en 3 afdrukken, elk op een nieuwe regel. #### `yield` versus `return` - `return` beëindigt de functie en retourneert een enkele waarde. - `yield` pauzeert de functie en retourneert de waarde, maar behoudt de staat van de functie voor de volgende iteratie.