Junior — Middle
Qual será o resultado ao terminar a execução de uma função geradora em Python?
sobes.tech IA
Resposta da IA
Ao terminar a execução de uma função geradora em Python, ocorre uma exceção StopIteration. Isso indica que o gerador esgotou todos os seus valores e não pode fornecer mais.
Se você iterar sobre o gerador em um ciclo for, essa exceção é tratada automaticamente e o ciclo termina.
Exemplo:
def gen():
yield 1
yield 2
g = gen()
print(next(g)) # Vai imprimir 1
print(next(g)) # Vai imprimir 2
print(next(g)) # Levanta StopIteration
Portanto, StopIteration é a forma padrão de indicar o término de um gerador.