Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Introductie van Generatorfuncties en Yield | Python Iterators
Functionele Programmeerconcepten in Python

bookIntroductie van Generatorfuncties en Yield

Veeg om het menu te tonen

Generatorfuncties zijn een speciaal soort functie in Python waarmee je op een eenvoudige en leesbare manier iterators kunt maken. In tegenstelling tot gewone functies die één waarde retourneren en daarna afsluiten, kunnen generatorfuncties hun uitvoering pauzeren en later hervatten, waarbij ze één voor één een reeks waarden opleveren.

Note
Definitie

yield is een Python-trefwoord dat binnen generatorfuncties wordt gebruikt om een waarde op te leveren en de toestand van de functie te pauzeren. Wanneer de generator wordt hervat, gaat deze verder waar hij was gebleven.

Hierdoor kun je over reeksen itereren, één waarde tegelijk, zonder tussentijdse lijsten te maken, waardoor je code efficiënter met geheugen omgaat.

Hoe werken generatorfuncties?

Een generatorfunctie lijkt op een normale functie, maar gebruikt het yield-trefwoord in plaats van return. Wanneer Python de yield-instructie tegenkomt, pauzeert het de uitvoering van de functie en stuurt de opgegeven waarde terug naar de aanroeper. De volgende keer dat je om een waarde vraagt, gaat de functie verder waar hij was gebleven.

Werking van een generatorfunctie

  1. Definieer een functie met def en voeg ten minste één yield-instructie toe;
  2. Wanneer je de functie aanroept, wordt de code binnenin niet direct uitgevoerd. In plaats daarvan retourneert het een generatorobject;
  3. Elke keer dat je om de volgende waarde vraagt (met next() of een for-lus), wordt de functie uitgevoerd tot aan yield;
  4. De yield-instructie retourneert een waarde aan de aanroeper en pauzeert de toestand van de functie;
  5. Wanneer een volgende waarde wordt opgevraagd, hervat de functie na de laatste yield;
  6. De functie gaat door tot er geen waarden meer zijn of tot een return of het einde van de code wordt bereikt.

Voordelen van het gebruik van generatorfuncties:

  • Geheugenbesparing door items één voor één te produceren in plaats van grote lijsten te maken;
  • Leesbare en onderhoudbare code voor datastromen of reeksen;
  • Eenvoudig werken met oneindige of zeer grote datasets zonder alles in het geheugen te laden.

Generatorfuncties zijn een krachtig hulpmiddel voor efficiënte gegevensverwerking en zijn essentieel voor het beheersen van de functionele programmeerstijl van Python. Hierna zie je precies hoe je generatorfuncties schrijft en gebruikt met praktische codevoorbeelden.

question mark

Wat doet het sleutelwoord yield in een Python-generatorfunctie?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 5. Hoofdstuk 4
some-alt