Generatoren
Verstehen Sie Generatoren und ihren Einsatz zum Erstellen von Iteratoren.
Generatoren ist eine kostenlose Learn AI with Python-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 Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 5 Lektionen.
Einführung in Generatoren
Einführung in Generatoren
Generatoren sind eine besondere Art von Iteratoren in Python, mit denen 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: 3So funktionieren Generatoren
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, 4Generatorausdrücke
Generatorausdrücke
Generatorausdrücke ähneln List 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, da sie nicht alle Daten im Speicher ablegen. 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'>Anwendungsfälle für Generatoren
Anwendungsfälle für Generatoren
Generatoren eignen sich ideal für:
- Die Verarbeitung großer Datensätze, die nicht vollständig in den Speicher passen.
- Das Erzeugen unendlicher Sequenzen.
- Die verzögerte Auswertung von Daten.
Unendliche Generatoren
Unendliche Generatoren
Generatoren können unendliche Sequenzen erzeugen, etwa eine endlose Folge von Zahlen. Achten Sie darauf, die Schleife zu stoppen, um eine endlose 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 Yields
Generatorfunktionen mit mehreren Yields
Generatorfunktionen können mehrere yield-Anweisungen enthalten, sodass 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 wir gelernt?
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, zum Beispiel unendliche Sequenzen und große Datensätze.
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 Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 5 Lektionen.
Was lerne ich in „Generatoren“?
Verstehen Sie Generatoren und ihren Einsatz zum Erstellen von Iteratoren. Du übst Learn AI with Python 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 Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python 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 Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-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