Generator je funkcija koja proizvodi vrijednosti lenivo, jednu po jednu, koristeći ključnu reč yield umjesto return. On izračunava svaku vrijednost na zahtjev umjesto da gradi cijeli rezultat u memoriji — idealno za velike ili beskonačne sekvence.
yield vs return
():
[i ** i (n)]
():
i (n):
i **
sq gen_squares():
(sq)
