В Python 2 произошла ошибка, когда возврат был вместе с выходом в определении функции. Но для этого кода в Python 3.3
def f():
return 3
yield 2
x = f()
print(x.__next__())
нет ошибки, возвращаемой в функции с доходностью. Однако, когда вызывается функция __next__
, тогда возникает исключение StopIteration. Почему не возвращается только значение 3
? Это как-то проигнорировано?