Генератор — это функция, которая производит значения лениво, по одному, используя ключевое слово yield вместо return. Она вычисляет каждое значение по требованию, а не создаёт весь результат в памяти — идеально для больших или бесконечных последовательностей.
yield vs return
():
[i ** i (n)]
():
i (n):
i **
sq gen_squares():
(sq)
