Generator je funkcija, ki proizvaja vrednosti lenobno, po eno naenkrat, z uporabo ključne besede yield namesto return. Izračuna vsako vrednost na zahtevo, namesto da bi zgradila celoten rezultat v pomnilniku — idealno za velike ali neskončne sekvence.
yield vs return
():
[i ** i (n)]
():
i (n):
i **
sq gen_squares():
(sq)
