Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduktion til generatorfunktioner og yield | Mestring af Python-Iteratorer og Dekoratører
Funktionelle Programmeringskoncepter i Python

bookIntroduktion til generatorfunktioner og yield

Stryg for at vise menuen

Generatorfunktioner er en særlig type funktion i Python, der gør det muligt at oprette iteratorer på en enkel og læsbar måde. I modsætning til almindelige funktioner, som returnerer en enkelt værdi og derefter afsluttes, kan generatorfunktioner sætte deres udførelse på pause og genoptage senere, hvorved de producerer en række værdier én ad gangen.

Note
Definition

yield er et Python-nøgleord, der bruges inde i generatorfunktioner til at producere en værdi og sætte funktionens tilstand på pause. Når generatoren genoptages, fortsætter den fra det sted, hvor den slap.

Dette gør det muligt at iterere over sekvenser én værdi ad gangen uden at opbygge mellemliggende lister, hvilket gør koden mere hukommelseseffektiv.

Hvordan fungerer generatorfunktioner?

En generatorfunktion ligner en normal funktion, men bruger nøgleordet yield i stedet for return. Når Python møder yield-sætningen, sættes funktionens udførelse på pause, og den afgivne værdi sendes tilbage til kaldet. Næste gang du anmoder om en værdi, genoptages funktionen præcis der, hvor den slap.

Sådan fungerer en generatorfunktion

  1. Definér en funktion med def og inkluder mindst én yield-sætning;
  2. Når du kalder funktionen, køres koden ikke med det samme. I stedet returneres et generatorobjekt;
  3. Hver gang du anmoder om den næste værdi (ved at bruge next() eller en for-løkke), køres funktionen, indtil den rammer yield;
  4. yield-sætningen returnerer en værdi til kaldet og sætter funktionens tilstand på pause;
  5. Når der anmodes om endnu en værdi, genoptages funktionen efter den seneste yield;
  6. Funktionen fortsætter, indtil der ikke er flere værdier, eller den når en return eller slutningen af koden.

Fordele ved at bruge generatorfunktioner:

  • Spar hukommelse ved at producere elementer ét ad gangen i stedet for at oprette store lister;
  • Skriv læsbar og vedligeholdelsesvenlig kode til datastrømme eller sekvenser;
  • Arbejd nemt med uendelige eller meget store datasæt uden at indlæse alt i hukommelsen.

Generatorfunktioner er et effektivt værktøj til effektiv databehandling og er essentielle for at mestre Pythons funktionelle programmeringsstil. Næste trin viser præcis, hvordan man skriver og bruger generatorfunktioner med praktiske kodeeksempler.

question mark

Hvad gør nøgleordet yield i en Python-generatorfunktion?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 6

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 4. Kapitel 6
some-alt