Python Academy · leksjon

Iteratorer og itererbare objekter

Utforsk iteratorprotokollen for å opprette egendefinert iterasjonsatferd.

Leksjon 5 av 511 trinn

Iteratorer og itererbare objekter er en gratis leksjon i Python Academy på CoddyKit. Dette er leksjon 5 av 5. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Python Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Python Academy inneholder totalt 5 leksjoner.

Introduksjon til iteratorer og itererbare objekter

Iteratorer og itererbare objekter er grunnleggende konsepter i Python som lar Dem arbeide med datasekvenser. De danner grunnlaget for løkker, comprehensions og generatorer.

I denne leksjonen lærer De hvordan iteratorer og itererbare objekter fungerer, og hvordan De oppretter egne iteratorer.

Iteratorer og itererbare objekter — illustrasjon 1

Hva er et itererbart objekt?

Et itererbart objekt er ethvert objekt i Python som De kan gå gjennom ved hjelp av en for-løkke. Eksempler er lister, tupler, mengder og ordbøker.

# Example of an iterable
my_list = [1, 2, 3]
for item in my_list:
    print(item)  # Outputs: 1, 2, 3

Hva er en iterator?

En iterator er et objekt som representerer en datastrøm. Den implementerer metodene __iter__() og __next__().

# Example of an iterator
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator))  # Outputs: 1
print(next(iterator))  # Outputs: 2
print(next(iterator))  # Outputs: 3

Forskjellen mellom itererbare objekter og iteratorer

Itererbare objekter kan gjennomløpes (for eksempel lister), mens iteratorer produserer ett element om gangen ved hjelp av metoden next(). Et itererbart objekt blir en iterator når det sendes til funksjonen iter().

Opprette egendefinerte iteratorer

De kan opprette egendefinerte iteratorer ved å definere en klasse med metodene __iter__() og __next__():

# Custom iterator example
class Counter:
    def __init__(self, start, end):
        self.current = start
        self.end = end

    def __iter__(self):
        return self

    def __next__(self):
        if self.current > self.end:
            raise StopIteration
        self.current += 1
        return self.current - 1

counter = Counter(1, 5)
for number in counter:
    print(number)  # Outputs: 1, 2, 3, 4, 5

Bruke <code>iter()</code>-funksjonen

Funksjonen iter() returnerer et iteratorobjekt fra et itererbart objekt:

# Using iter() on a list
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator))  # Outputs: 1

Håndtere <code>StopIteration</code>

Når en iterator er tømt, utløser den et StopIteration-unntak. Slik signaliserer Python slutten på en sekvens.

# Handling StopIteration
my_list = [1, 2, 3]
iterator = iter(my_list)

while True:
    try:
        print(next(iterator))
    except StopIteration:
        break

Iteratorer kontra generatorer

Generatorer er en enklere måte å opprette iteratorer på. De implementerer automatisk metodene __iter__() og __next__().

# Example of a generator as an iterator
def my_generator():
    yield 1
    yield 2
    yield 3

for value in my_generator():
    print(value)  # Outputs: 1, 2, 3

Vanlige feil med iteratorer

Her er noen feil De bør unngå:

  • Glemme å implementere __iter__() og __next__() i egendefinerte iteratorer.
  • Ikke håndtere StopIteration-unntak riktig.
  • Forveksle iteratorer med itererbare objekter.

Hva har De lært?

I denne leksjonen har De lært:

  • Forskjellen mellom itererbare objekter og iteratorer.
  • Hvordan De bruker __iter__() og __next__() til å opprette egendefinerte iteratorer.
  • Hvordan De bruker funksjonen iter() og håndterer StopIteration-unntak.
  • Hvordan generatorer forenkler opprettingen av iteratorer.

Godt jobbet! La oss gå videre til neste tema.

Iteratorer og itererbare objekter — illustrasjon 11
Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
76
Leksjoner
320

Ofte stilte spørsmål

Er leksjonen «Iteratorer og itererbare objekter» gratis?

Ja – hele teksten i «Iteratorer og itererbare objekter» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Python Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Python Academy inneholder totalt 5 leksjoner.

Hva lærer jeg i «Iteratorer og itererbare objekter»?

Utforsk iteratorprotokollen for å opprette egendefinert iterasjonsatferd. Du øver på Python Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Python Academy?

Ingen tidligere erfaring er nødvendig. Python Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 5 av 5.

Hvor lang tid tar leksjonen «Iteratorer og itererbare objekter»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Python Academy-leksjonen?

Ja. Alle Python Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Dekoratorer
  2. Generatorer
  3. Kontekstbehandlere (with-setninger)
  4. Comprehensions (lister, mengder og ordbøker)
  5. Iteratorer og itererbare objekter
← Tilbake til Python Academy