yield

yield macht aus einer Funktion einen Generator: sie gibt einen Wert ab, pausiert und macht weiter, wenn wieder gefragt wird.

Syntax

def path():
yield (0, 0)
yield (1, 0)
  • for x in path(): fragt jedes yield ab. list(path()) sammelt sie alle.

Beispiel

def count():
    yield 1
    yield 2

print(list(count()))

Ausgabe:

[1, 2]

Häufige Fehler

  • return beendet die Funktion sofort, deshalb läuft ein zweites return nie. Nutze yield, um mehr als einen Wert zu senden.

Übe es