Un generator è una funzione che produce valori pigramente, uno alla volta, usando la parola chiave yield al posto di return. Calcola ogni valore su richiesta piuttosto che costruire l'intero risultato in memoria — ideale per sequenze grandi o infinite.
yield vs return
():
[i ** i (n)]
():
i (n):
i **
sq gen_squares():
(sq)
