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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage