Sobes.tech
Junior — Middle

Ce rezultat va fi obținut la finalizarea execuției unei funcții generator în Python?

sobes.tech AI

Răspuns de la AI

Când se finalizează execuția unei funcții generator în Python, se ridică o excepție StopIteration. Aceasta semnalează că generatorul și-a epuizat toate valorile și nu mai poate furniza altele.

Dacă iterezi peste generator într-un ciclu for, această excepție este gestionată automat și ciclul se încheie.

Exemplu:

def gen():
    yield 1
    yield 2

g = gen()
print(next(g))  # Afișează 1
print(next(g))  # Afișează 2
print(next(g))  # Ridică `StopIteration`

Prin urmare, StopIteration este modul standard de a semnala sfârșitul unui generator.