Powrót do generatora wraz z wydajnością w Pythonie 3.3
W Pythonie 2 wystąpił błąd, gdy zwracano razem z wydajnością w definicji funkcji. Ale dla tego kodu w Pythonie 3.3
def f():
return 3
yield 2
x = f()
print(x.__next__())
nie ma błędu, że powrót jest używany w funkcji z wydajnością. Jednak gdy funkcja__next__
jest wywoływany, a następnie generowany jest wyjątek StopIteration. Dlaczego nie tylko zwrócono wartość3
? Czy ten zwrot w jakiś sposób został zignorowany?