0Pricing
Python For Kids · Lektion

Generatoren

Verstehen Sie Generatoren und ihren Einsatz zum Erstellen von Iteratoren.

Generatoren ist eine kostenlose Python For Kids-Lektion auf CoddyKit. Dies ist Lektion 2 von 5. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python For Kids-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python For Kids-Kurs umfasst insgesamt 5 Lektionen.

Einführung in Generatoren

Generatoren sind ein spezieller Iteratortyp in Python, mit dem Sie Daten verzögert durchlaufen können. Anstatt alle Daten auf einmal zurückzugeben, liefern sie jeweils ein Element und sind dadurch speichereffizient.

In dieser Lektion lernen Sie, wie Sie Generatoren in Python erstellen und verwenden.

Generatoren — Illustration 1

Was ist ein Generator?

Ein Generator ist eine Funktion, die das Schlüsselwort yield verwendet, um Werte einzeln zurückzugeben. Jeder Aufruf der next()-Methode des Generators setzt die Ausführung an der Stelle fort, an der zuletzt ein Wert mit yield zurückgegeben wurde.

# Basic generator example
def my_generator():
    yield 1
    yield 2
    yield 3

# Using the generator
gen = my_generator()
print(next(gen))  # Outputs: 1
print(next(gen))  # Outputs: 2
print(next(gen))  # Outputs: 3

So funktionieren Generatoren

Generatoren speichern den Zustand der Funktion, sodass sie die Ausführung genau an der Stelle fortsetzen können, an der sie angehalten wurde. Dadurch sind sie speichereffizient und ideal für große Datensätze.

# Example: Generating a range of numbers
def range_generator(start, end):
    while start < end:
        yield start
        start += 1

for number in range_generator(1, 5):
    print(number)  # Outputs: 1, 2, 3, 4

Generatorausdrücke

Generatorausdrücke ähneln List Comprehensions, verwenden jedoch runde statt eckiger Klammern. Sie erzeugen Generatoren anstelle von Listen.

# Generator expression
gen_exp = (x * x for x in range(5))

for value in gen_exp:
    print(value)  # Outputs: 0, 1, 4, 9, 16

Generatoren im Vergleich zu Listen

Generatoren sind speichereffizienter als Listen, da sie nicht alle Daten im Speicher speichern. Stattdessen erzeugen sie die Daten bei Bedarf.

# Comparing lists and generators
# List comprehension
list_comp = [x * x for x in range(1000000)]

# Generator expression
gen_exp = (x * x for x in range(1000000))

# List comprehension uses more memory
print(type(list_comp))  # Outputs: <class 'list'>
print(type(gen_exp))    # Outputs: <class 'generator'>

Einsatzmöglichkeiten von Generatoren

Generatoren eignen sich ideal für:

  • die Verarbeitung großer Datensätze, die nicht vollständig in den Speicher passen,
  • das Erzeugen unendlicher Folgen,
  • die verzögerte Auswertung von Daten.

Unendliche Generatoren

Generatoren können unendliche Folgen erzeugen, beispielsweise eine endlose Zahlenfolge. Achten Sie darauf, die Schleife zu beenden, um eine unendliche Ausführung zu verhindern.

# Infinite generator example
def infinite_sequence():
    num = 0
    while True:
        yield num
        num += 1

# Using the infinite generator
for i in infinite_sequence():
    if i > 5:
        break
    print(i)  # Outputs: 0, 1, 2, 3, 4, 5

Generatorfunktionen mit mehreren Yield-Ausdrücken

Generatorfunktionen können mehrere yield-Anweisungen enthalten, sodass Sie komplexe Folgen erstellen können:

# Multiple yields in a generator
def multi_yield():
    yield "First"
    yield "Second"
    yield "Third"

for value in multi_yield():
    print(value)  # Outputs: First, Second, Third

Häufige Fehler bei Generatoren

Hier sind einige Fehler, die Sie vermeiden sollten:

  • return statt yield in einer Generatorfunktion verwenden.
  • Den Generator nicht mit einer Schleife oder next() auswerten.
  • Generatoren für kleine Datensätze verwenden, für die Listen besser geeignet sind.

Was haben wir gelernt?

In dieser Lektion haben Sie Folgendes gelernt:

  • Was Generatoren sind und wie sie in Python funktionieren.
  • Wie Sie mit yield Generatorfunktionen erstellen.
  • Die Unterschiede zwischen Generatoren und Listen.
  • Anwendungsfälle für Generatoren, etwa unendliche Sequenzen und große Datenmengen.

Sehr gut! Fahren wir mit dem nächsten Thema fort.

Generatoren — Illustration 11

Häufig gestellte Fragen

Ist die Lektion „Generatoren“ kostenlos?

Ja — der vollständige Text von „Generatoren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python For Kids-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python For Kids-Kurs umfasst insgesamt 5 Lektionen.

Was lerne ich in „Generatoren“?

Verstehen Sie Generatoren und ihren Einsatz zum Erstellen von Iteratoren. Du übst Python For Kids mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python For Kids zu starten?

Keine Vorkenntnisse erforderlich. Python For Kids auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 5.

Wie lange dauert die Lektion „Generatoren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python For Kids-Lektion Code schreiben und ausführen?

Ja. Jede Python For Kids-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Dekoratoren
  2. Generatoren
  3. Context Manager (with-Anweisungen)
  4. Comprehensions (Listen, Sets und Dictionaries)
  5. Iteratoren und Iterables
← Zurück zu Python For Kids