Generator to funkcja, która produkuje wartości leniwą, jedną na raz, używając słowa kluczowego yield zamiast return. Oblicza każdą wartość na żądanie, a nie buduje cały wynik w pamięci — idealne dla dużych lub nieskończonych sekwencji.
yield vs return
():
[i ** i (n)]
():
i (n):
i **
sq gen_squares():
(sq)
