Generatoren
Verstehen Sie Generatoren und ihre Verwendung zum Erstellen von Iteratoren.
Generatoren ist eine kostenlose Python Academy-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 Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 5 Lektionen.
Einführung in Generatoren
Einführung in Generatoren
Generatoren sind ein spezieller Iteratortyp in Python, mit dem Sie Daten verzögert durchlaufen können. Statt alle Daten auf einmal zurückzugeben, liefern sie jeweils ein Element, wodurch sie speichereffizient sind.
In dieser Lektion lernen Sie, wie Sie Generatoren in Python erstellen und verwenden.

Was ist ein Generator?
Was ist ein Generator?
Ein Generator ist eine Funktion, die das Schlüsselwort yield verwendet, um Werte einzeln zurückzugeben. Jeder Aufruf der Methode next() des Generators setzt die Ausführung an der Stelle fort, an der zuletzt ein Wert geliefert 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: 3Wie Generatoren funktionieren
Wie Generatoren funktionieren
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
Generatorausdrücke ähneln Listen-Comprehensions, verwenden jedoch runde statt eckiger Klammern. Sie erzeugen Generatoren statt 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 im Vergleich zu Listen
Generatoren sind speichereffizienter als Listen, weil sie nicht alle Daten im Speicher speichern. Stattdessen erzeugen sie die Daten erst 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'>Anwendungsfälle für Generatoren
Anwendungsfälle für Generatoren
Generatoren eignen sich ideal für:
- Die Verarbeitung großer Datensätze, die nicht in den Speicher passen.
- Das Erzeugen unendlicher Sequenzen.
- Die verzögerte Auswertung von Daten.
Unendliche Generatoren
Unendliche Generatoren
Generatoren können unendliche Sequenzen erzeugen, beispielsweise eine endlose Zahlenfolge. Achten Sie darauf, die Schleife zu beenden, um eine Endlosschleife 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 mit mehreren Yield-Ausdrücken
Generatorfunktionen können mehrere yield-Anweisungen enthalten, mit denen Sie komplexe Sequenzen 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
Häufige Fehler bei Generatoren
Hier sind einige Fehler, die Sie vermeiden sollten:
- In einer Generatorfunktion
returnstattyieldzu verwenden. - Den Generator nicht mit einer Schleife oder
next()zu durchlaufen. - Generatoren für kleine Datensätze zu verwenden, für die Listen besser geeignet sind.
Was haben Sie gelernt?
Was haben Sie gelernt?
In dieser Lektion haben Sie Folgendes gelernt:
- Was Generatoren sind und wie sie in Python funktionieren.
- Wie Sie
yieldverwenden, um Generatorfunktionen zu erstellen. - Die Unterschiede zwischen Generatoren und Listen.
- Anwendungsfälle für Generatoren, beispielsweise unendliche Sequenzen und große Datensätze.
Sehr gut! Fahren Sie 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 Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 5 Lektionen.
Was lerne ich in „Generatoren“?
Verstehen Sie Generatoren und ihre Verwendung zum Erstellen von Iteratoren. Du übst Python Academy 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 Academy zu starten?
Keine Vorkenntnisse erforderlich. Python Academy 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 Academy-Lektion Code schreiben und ausführen?
Ja. Jede Python Academy-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
- Kontextmanager (with-Anweisungen)
- Comprehensions (für Listen, Mengen und Wörterbücher)
- Iteratoren und Iterables