Generators
Begrijp generators en hoe u ze gebruikt om iterators te maken.
Generators is een gratis Leer AI met Python-les op CoddyKit. Dit is les 2 van 5. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 5 lessen.
Inleiding tot generatoren
Generatoren zijn een speciaal type iterator in Python waarmee je op uitgestelde wijze door gegevens kunt itereren. In plaats van alle gegevens tegelijk te retourneren, leveren ze één element per keer, waardoor ze zuinig met geheugen omgaan.
In deze les leer je hoe je generatoren in Python maakt en gebruikt.

Wat is een generator?
Een generator is een functie die het sleutelwoord yield gebruikt om één voor één waarden terug te geven. Elke aanroep van de methode next() van de generator hervat de uitvoering vanaf de plaats waar de generator voor het laatst een waarde opleverde.
# Basic generator example
def my_generator():
yield 1
yield 2
yield 3
# Using the generator
gen = my_generator()
print(next(gen)) # Outputs: 1
print(next(gen)) # Outputs: 2
print(next(gen)) # Outputs: 3Hoe generatoren werken
Generatoren bewaren de status van de functie, zodat ze de uitvoering precies kunnen hervatten waar ze waren gebleven. Daardoor gaan ze zuinig met geheugen om en zijn ze ideaal voor grote gegevensverzamelingen.
# Example: Generating a range of numbers
def range_generator(start, end):
while start < end:
yield start
start += 1
for number in range_generator(1, 5):
print(number) # Outputs: 1, 2, 3, 4Generator-expressies
Generator-expressies lijken op lijstcomprehensies, maar gebruiken ronde haakjes in plaats van vierkante haakjes. Ze maken generatoren in plaats van lijsten.
# Generator expression
gen_exp = (x * x for x in range(5))
for value in gen_exp:
print(value) # Outputs: 0, 1, 4, 9, 16Generatoren versus lijsten
Generatoren zijn zuiniger met geheugen dan lijsten, omdat ze niet alle gegevens in het geheugen opslaan. In plaats daarvan genereren ze gegevens tijdens het uitvoeren.
# Comparing lists and generators
# List comprehension
list_comp = [x * x for x in range(1000000)]
# Generator expression
gen_exp = (x * x for x in range(1000000))
# List comprehension uses more memory
print(type(list_comp)) # Outputs: <class 'list'>
print(type(gen_exp)) # Outputs: <class 'generator'>Toepassingen van generatoren
Generatoren zijn ideaal voor:
- Het verwerken van grote gegevensverzamelingen die niet in het geheugen passen.
- Het genereren van oneindige reeksen.
- Het uitgesteld evalueren van gegevens.
Oneindige generatoren
Generatoren kunnen oneindige reeksen produceren, zoals een eindeloze reeks getallen. Zorg dat je de lus stopt om oneindige uitvoering te voorkomen.
# Infinite generator example
def infinite_sequence():
num = 0
while True:
yield num
num += 1
# Using the infinite generator
for i in infinite_sequence():
if i > 5:
break
print(i) # Outputs: 0, 1, 2, 3, 4, 5Generatorfuncties met meerdere yield-instructies
Generatorfuncties kunnen meerdere yield-instructies bevatten, zodat je complexe reeksen kunt maken:
# Multiple yields in a generator
def multi_yield():
yield "First"
yield "Second"
yield "Third"
for value in multi_yield():
print(value) # Outputs: First, Second, ThirdVeelgemaakte fouten met generatoren
Hier zijn enkele fouten die je moet vermijden:
returngebruiken in plaats vanyieldin een generatorfunctie.- De generator niet doorlopen met een lus of
next(). - Generatoren gebruiken voor kleine gegevensverzamelingen waarvoor lijsten geschikter zijn.
Wat hebben we geleerd?
In deze les heb je geleerd:
- Wat generatoren zijn en hoe ze werken in Python.
- Hoe je
yieldgebruikt om generatorfuncties te maken. - Wat de verschillen zijn tussen generatoren en lijsten.
- Waarvoor je generatoren kunt gebruiken, bijvoorbeeld voor oneindige reeksen en grote gegevensverzamelingen.
Goed gedaan! Laten we doorgaan naar het volgende onderwerp.

Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 53
- Lessen
- 225
Veelgestelde vragen
Is de les “Generators” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “Generators”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 5 lessen.
Wat leer ik in “Generators”?
Begrijp generators en hoe u ze gebruikt om iterators te maken. Je oefent met Leer AI met Python door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Leer AI met Python te beginnen?
Ervaring vooraf is niet nodig. Leer AI met Python op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 5.
Hoe lang duurt de les “Generators”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Leer AI met Python?
Ja. Elke les over Leer AI met Python bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Decorators
- Generators
- Contextmanagers (with-instructies)
- Comprehensions (lijst, set en dictionary)
- Iterators en iterables