Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduksjon til generatorfunksjoner og yield | Python Iterators
Funksjonelle Programmeringskonsepter i Python

bookIntroduksjon til generatorfunksjoner og yield

Sveip for å vise menyen

Generator-funksjoner er en spesiell type funksjon i Python som lar deg lage iteratorer på en enkel og lesbar måte. I motsetning til vanlige funksjoner som returnerer én verdi og deretter avsluttes, kan generator-funksjoner pause utførelsen og fortsette senere, og produsere en serie verdier én om gangen.

Note
Definisjon

yield er et Python-nøkkelord som brukes inne i generator-funksjoner for å produsere en verdi og pause funksjonens tilstand. Når generatoren gjenopptas, fortsetter den der den slapp.

Dette gjør det mulig å iterere over sekvenser én verdi om gangen uten å bygge mellomliggende lister, noe som gjør koden mer minneeffektiv.

Hvordan fungerer generator-funksjoner?

En generator-funksjon ser ut som en vanlig funksjon, men bruker yield-nøkkelordet i stedet for return. Når Python møter yield-setningen, pauser den utførelsen av funksjonen og sender den avgitte verdien tilbake til den som kaller funksjonen. Neste gang du ber om en verdi, fortsetter funksjonen der den slapp.

Hvordan en generator-funksjon opererer

  1. Definer en funksjon med def og inkluder minst én yield-setning;
  2. Når du kaller funksjonen, kjøres ikke koden inni med en gang. I stedet returneres et generator-objekt;
  3. Hver gang du ber om neste verdi (ved å bruke next() eller en for-løkke), kjøres funksjonen til den treffer yield;
  4. yield-setningen returnerer en verdi til den som kaller funksjonen og pauser funksjonens tilstand;
  5. Når en ny verdi etterspørres, fortsetter funksjonen etter siste yield;
  6. Funksjonen fortsetter til den går tom for verdier eller når en return eller slutten av koden.

Fordeler med å bruke generator-funksjoner:

  • Spar minne ved å produsere elementer én om gangen i stedet for å lage store lister;
  • Skriv lesbar og vedlikeholdbar kode for datastrømmer eller sekvenser;
  • Arbeid enkelt med uendelige eller svært store datasett uten å laste alt inn i minnet.

Generator-funksjoner er et kraftig verktøy for effektiv databehandling og er essensielle for å mestre funksjonell programmering i Python. Neste steg er å se nøyaktig hvordan du skriver og bruker generator-funksjoner med praktiske kodeeksempler.

question mark

Hva gjør nøkkelordet yield i en generatorfunksjon i Python?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 5. Kapittel 4
some-alt