Проверяет умение писать ленивые последовательности через yield.
Генератор создаётся функцией с ключевым словом yield вместо return. При вызове такой функции возвращается генераторный объект, который при итерации последовательно выполняет тело функции до следующего yield, сохраняя состояние между вызовами.
Синтаксис:
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1Поведение:
Первый next() начинает выполнение до yield.
Каждый последующий next() возвращает следующее значение.
Преимущества:
Ленивые вычисления, экономия памяти.
Заключение:
Используйте генераторы для потоковой обработки больших данных.