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.

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: 3So 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, 4Generatorausdrü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, 16Generatoren 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, 5Generatorfunktionen 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, ThirdHäufige Fehler bei Generatoren
Hier sind einige Fehler, die Sie vermeiden sollten:
returnstattyieldin 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
yieldGeneratorfunktionen 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.

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
- Dekoratoren
- Generatoren
- Context Manager (with-Anweisungen)
- Comprehensions (Listen, Sets und Dictionaries)
- Iteratoren und Iterables