Генераторы: Создаем данные «на лету»
Генератор — это функция, которая ведет себя как итератор. Главное отличие от обычной функции в том, что генератор не возвращает всё значение целиком и не завершается. Он «становится на паузу», отдает одно значение и ждет, пока его попросят выдать следующее. Это позволяет обрабатывать бесконечные потоки данных, не забивая оперативную память.