Python Academy · Oppitunti

Iteraattorit ja iteroitavat oliot

Tutustukaa iteraattoriprotokollaan mukautetun iterointitoiminnan luomiseksi.

Oppitunti 5/511 vaihetta

Iteraattorit ja iteroitavat oliot on ilmainen Python Academy-oppitunti CoddyKitissä. Tämä on oppitunti 5/5. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Python Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Python Academy-kurssilla on yhteensä 5 oppituntia.

Johdatus iteraattoreihin ja iteroitaviin olioihin

Iteraattorit ja iteroitavat oliot ovat Pythonin peruskäsitteitä, joiden avulla voitte käsitellä tietojonoja. Ne muodostavat silmukoiden, koostelmien ja generaattorien perustan.

Tässä oppitunnissa opitte, miten iteraattorit ja iteroitavat oliot toimivat ja miten voitte luoda omia iteraattoreita.

Iteraattorit ja iteroitavat oliot — kuvitus 1

Mikä on iteroitava olio?

Iteroitava olio on mikä tahansa Pythonin olio, jonka läpi voidaan käydä for-silmukalla. Esimerkkejä ovat listat, monikot, joukot ja sanakirjat.

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

Mikä on iteraattori?

Iteraattori on tietovirtaa edustava olio. Se toteuttaa __iter__()- ja __next__()-metodit.

# 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

Iteroitavien olioiden ja iteraattorien ero

Iteroitavien olioiden läpi voidaan käydä, esimerkiksi listojen, kun taas iteraattorit tuottavat yhden alkion kerrallaan next()-metodin avulla. Iteroitavasta oliosta tulee iteraattori, kun se välitetään iter()-funktiolle.

Mukautettujen iteraattorien luominen

Voitte luoda mukautettuja iteraattoreita määrittämällä luokan, jossa on __iter__()- ja __next__()-metodit:

# 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

<code>iter()</code>-funktion käyttäminen

iter()-funktio palauttaa iteroitavasta oliosta iteraattoriolion:

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

<code>StopIteration</code>-poikkeuksen käsittely

Kun iteraattorin kaikki alkiot on käsitelty, se aiheuttaa StopIteration-poikkeuksen. Näin Python ilmoittaa jonon päättymisestä.

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

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

Iteraattorit ja generaattorit

Generaattorit ovat yksinkertaisempi tapa luoda iteraattoreita. Ne toteuttavat automaattisesti __iter__()- ja __next__()-metodit.

# 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

Iteraattorien yleiset virheet

Välttäkää seuraavia virheitä:

  • __iter__()- ja __next__()-metodien toteuttamisen unohtaminen mukautetuissa iteraattoreissa.
  • StopIteration-poikkeusten virheellinen käsittely.
  • Iteraattorien sekoittaminen iteroitaviin olioihin.

Mitä opitte?

Tässä oppitunnissa opitte:

  • Miten iteroitavat oliot ja iteraattorit eroavat toisistaan.
  • Miten __iter__()- ja __next__()-metodien avulla luodaan mukautettuja iteraattoreita.
  • Miten iter()-funktiota käytetään ja miten StopIteration-poikkeuksia käsitellään.
  • Miten generaattorit helpottavat iteraattorien luomista.

Hienosti tehty! Siirrytään seuraavaan aiheeseen.

Iteraattorit ja iteroitavat oliot — kuvitus 11
Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
76
Oppitunnit
320

Usein kysytyt kysymykset

Onko oppitunti ”Iteraattorit ja iteroitavat oliot” ilmainen?

Kyllä – oppitunnin ”Iteraattorit ja iteroitavat oliot” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Python Academy-kurssin, päivitä CoddyKit PROhon. Python Academy-kurssilla on yhteensä 5 oppituntia.

Mitä opin oppitunnilla ”Iteraattorit ja iteroitavat oliot”?

Tutustukaa iteraattoriprotokollaan mukautetun iterointitoiminnan luomiseksi. Harjoittelet Python Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Python Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Python Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 5/5.

Kuinka kauan ”Iteraattorit ja iteroitavat oliot”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Python Academy-oppitunnilla?

Kyllä. Jokainen Python Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Dekoraattorit
  2. Generaattorit
  3. Kontekstinhallintaohjelmat (with-lausekkeet)
  4. Koostelmat (listat, joukot ja sanakirjat)
  5. Iteraattorit ja iteroitavat oliot
← Takaisin: Python Academy