14 / 15
Generators и yield в Python: чем отличаются от обычных функций?
Generator — функция с yield, которая возвращает итератор: вычисление отложено до запроса следующего значения. В отличие от обычной функции, тело не выполняется при вызове — сначала возвращается генератор-объект, дальше каждый next() доходит до следующего yield. Это даёт ленивую генерацию, экономию памяти на больших последовательностях и поддержку бесконечных потоков. Аналог в JS — function* + yield.