Sobes.tech
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.