lima-city: Webhosting, Domains und Cloud
1 Pluspunkt 0 Minuspunkte
Was bedeutet "yield" in Python und wie verwendet man es?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Das Schlüsselwort "yield" wird verwendet, um Generator-Funktionen zu definieren die eine Abfolge von Werten in einem "lazy" oder bedarfsorientierten Modus erzeugen. Das bedeutet, dass die Werte nicht im Voraus berechnet und im Speicher gespeichert werden, sondern bei Bedarf generiert werden.

Eine Generator-Funktion ähnelt einer normalen Funktion, aber statt "return" verwendet sie das "yield" Statement, um Werte zu liefern.

def number_generator(n):
    for i in range(n):
        yield i

Wenn du die Generator-Funktion aufrufst, wird ein Generator-Objekt zurückgegeben. Beachte, dass zu diesem Zeitpunkt der Code in der Generator-Funktion nicht ausgeführt wird.

my_generator = number_generator(5)

Um Werte aus dem Generator zu erhalten, kannst du die "next()"-Funktion verwenden. Bei jedem Aufruf wird die Generator-Funktion bis zum nächsten "yield"-Statement ausgeführt und der entsprechende Wert zurückgegeben.

print(next(my_generator))  # Gibt 0 aus
print(next(my_generator))  # Gibt 1 aus
print(next(my_generator))  # Gibt 2 aus

Du kannst auch eine Schleife verwenden, um alle Werte aus dem Generator nacheinander zu durchlaufen, ohne explizit "next()" aufzurufen.

for num in number_generator(3):
    print(num)  # Gibt 0, 1, 2 aus
von  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2.3k Fragen

2.8k Antworten

261 Kommentare

13 Nutzer