0 Pluspunkte 0 Minuspunkte

Wie kann ich die Rückgabe einer Funktion in mehreren Token ausgeben so das ich bei einer sehr langen Ausgabe nicht warten muss bis alles verarbeitet wurde?

def test():
   for i in range(10000):
      return i  

for tok in test():
   print(tok)
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du kannst das Keyword "yield" nutzen um eine Generatorfunktion zu erstellen, welche die Werte einzeln zurückgeben kann. Die Schleife in der test() Funktion wird dabei in jedem Durchlauf angehalten und der aktuelle Wert von i wird an den Aufrufer zurückgegeben.

def test():
    for i in range(10000):
        yield i  # Verwende 'yield', um die Werte einzeln zurückzugeben

for tok in test():
    print(tok)
von