Функции-генераторы в Python: создание и использование оператора yield для списков, выражений, последовательностей и примеры
Во время фаз инициализации и завершения удобно открывать файлы, содержимое которых будет порционно выдавать итератор, а потом своевременно этот файл закрыть. Декларативные генераторы такой возможности не имеют сами по себе, так что хотя бы ради этой гибкости стоит уметь писать генераторные функции. Их нам выдаст объект-генератор, который работает как итератор бесконечной последовательности в данном случае. […]