Python For Kids · Les

Iterators en iterables

Verken het iteratorprotocol om aangepast iteratiegedrag te maken.

Les 5 van 511 stappen

Iterators en iterables is een gratis Python For Kids-les op CoddyKit. Dit is les 5 van 5. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Python For Kids. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Python For Kids bevat in totaal 5 lessen.

Inleiding tot iterators en iterables

Iterators en iterables zijn fundamentele concepten in Python waarmee je met gegevensreeksen kunt werken. Ze vormen de basis van lussen, comprehensies en generatoren.

In deze les leer je hoe iterators en iterables werken en hoe je je eigen iterators maakt.

Iterators en iterables — illustratie 1

Wat is een iterable?

Een iterable is elk object in Python waar je met een for-lus doorheen kunt lopen. Voorbeelden zijn lijsten, tuples, sets en dictionaries.

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

Wat is een iterator?

Een iterator is een object dat een gegevensstroom vertegenwoordigt. Deze implementeert de methoden __iter__() en __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

Het verschil tussen iterables en iterators

Over iterables kan worden geloopt (bijvoorbeeld lijsten), terwijl iterators één item per keer produceren met de next()-methode. Een iterable wordt een iterator wanneer deze aan de functie iter() wordt doorgegeven.

Aangepaste iterators maken

Je kunt aangepaste iterators maken door een klasse te definiëren met de methoden __iter__() en __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

De functie iter() gebruiken

De functie iter() retourneert een iteratorobject vanuit een iterable:

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

StopIteration afhandelen

Wanneer een iterator is uitgeput, werpt deze een uitzondering StopIteration op. Zo geeft Python het einde van een reeks aan.

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

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

Iterators versus generatoren

Generatoren zijn een eenvoudigere manier om iterators te maken. Ze implementeren automatisch de methoden __iter__() en __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

Veelgemaakte fouten met iterators

Hier zijn enkele fouten die u moet vermijden:

  • Vergeten om __iter__() en __next__() te implementeren in aangepaste iterators.
  • Uitzonderingen van het type StopIteration niet correct afhandelen.
  • Iterators verwarren met iterables.

Wat hebben we geleerd?

In deze les hebt u het volgende geleerd:

  • Het verschil tussen iterables en iterators.
  • Hoe u __iter__() en __next__() gebruikt om aangepaste iterators te maken.
  • Hoe u de functie iter() gebruikt en uitzonderingen van het type StopIteration afhandelt.
  • Hoe generators het maken van iterators vereenvoudigen.

Goed gedaan! Laten we doorgaan naar het volgende onderwerp.

Iterators en iterables — illustratie 11
Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
22
Lessen
94

Veelgestelde vragen

Is de les “Iterators en iterables” gratis?

Ja — de volledige tekst van “Iterators en iterables” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Python For Kids wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Python For Kids bevat in totaal 5 lessen.

Wat leer ik in “Iterators en iterables”?

Verken het iteratorprotocol om aangepast iteratiegedrag te maken. Je oefent met Python For Kids door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Python For Kids te beginnen?

Ervaring vooraf is niet nodig. Python For Kids op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 5 van 5.

Hoe lang duurt de les “Iterators en iterables”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Python For Kids?

Ja. Elke les over Python For Kids bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Decorators
  2. Generators
  3. Contextmanagers (with-instructies)
  4. Comprehensions (lijst, set en dictionary)
  5. Iterators en iterables
← Terug naar Python For Kids