Retornar no gerador junto com o rendimento no Python 3.3
No Python 2, houve um erro quando o retorno estava junto com o rendimento na definição da função. Mas para este código no Python 3.3
def f():
return 3
yield 2
x = f()
print(x.__next__())
não há erro que o retorno seja usado em função com rendimento. No entanto, quando a função__next__
é chamado, então é lançada a exceção StopIteration. Por que não há apenas valor retornado3
? Esse retorno é de alguma forma ignorado?