Курс Python → Функции-генераторы в Python
Функции-генераторы в Python представляют собой специальный тип функций, которые могут возвращать результаты несколько раз в процессе выполнения. Они отличаются от обычных функций тем, что в них присутствует оператор yield, который позволяет сохранить текущее состояние выполнения функции и вернуть значение, не завершая ее полностью.
Оператор yield позволяет функции «замораживаться» на определенном этапе выполнения и возвращать значение, после чего продолжать выполнение с того же места. Это позволяет экономить ресурсы памяти и времени, так как функция не хранит все результаты в памяти сразу, а возвращает их по мере необходимости.
Для создания функции-генератора необходимо использовать ключевое слово yield внутри тела функции. Когда функция вызывается, она возвращает объект-генератор, который можно использовать для получения значений, возвращаемых оператором yield. Когда все значения были извлечены, генератор исчерпывается и выдает исключение StopIteration.
def example_generator():
yield 1
yield 2
yield 3
gen = example_generator()
print(next(gen)) # Вывод: 1
print(next(gen)) # Вывод: 2
print(next(gen)) # Вывод: 3
В данном примере создается функция-генератор example_generator, которая последовательно возвращает числа 1, 2 и 3 при каждом вызове оператора yield. После каждого вызова функции next(gen) получаем следующее значение из генератора, пока не исчерпаем все значения.
Другие уроки курса "Python"
- Возврат нескольких значений
- Объединение Python и Shell
- Быстрый поиск кода
- Метод join() для объединения элементов строки
- Перебор элементов списка в Python
- Упрощенный вывод данных в Python
- Antigravity модуль
- Обработка исключений в Python
- Оператор Walrus в Python 3.8
- Синтаксис переменных цикла в Python
- Распаковка элементов массива
- Мониторинг работы программы Py-spy
- Декораторы в Python
- Динамические маршруты во Flask
- Оператор is в Python
- Создание тестовых данных с Faker
- Округление дробей в Python
- Тернарный оператор в Python
- Управление импортом в Python
- Глобальные переменные в Python
- Удаление эмодзи с помощью pandas
- Метод join() для объединения элементов строки
- Работа с *args и **kwargs в Python
- Печать календаря в Python
- Оформление кода на Python
- Подсчет элементов с помощью Counter из collections
- Библиотека sh: использование команд bash в Python
- Модуль subprocess: запуск внешних команд
- Названия столбцов в Python таблицах
- Методы и функции в Python
- Генераторы по генератору
- Просмотр внешнего файла в Python
- Расчет времени выполнения
- Область видимости переменных
- Профилирование данных с Pandas.
- Автоматизация скриптов на AWS Lightsail.
- Numpy: разбиение массивов
- Перегрузка операторов в Python
- Запрос пароля с помощью getpass
- Объединение кортежей в Python
- Dict Comprehension в Python
- Генераторы в Python
- Работа с эмодзи в Python
- Создание и инициализация объектов
- Печать календаря















