Rückkehr in Generator zusammen mit Ausbeute in Python 3.3
In Python 2 trat ein Fehler auf, als die Rückgabe zusammen mit der Ausbeute in der Funktionsdefinition erfolgte. Aber für diesen Code in Python 3.3
def f():
return 3
yield 2
x = f()
print(x.__next__())
Es gibt keinen Fehler, dass return in Funktion mit yield verwendet wird. Allerdings bei der Funktion__next__
wird aufgerufen, dann wird eine Ausnahme ausgelöst StopIteration. Warum gibt es nicht nur Wert zurück3
? Wird diese Rückgabe irgendwie ignoriert?