Курс 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"
- Обработка исключения UnboundLocalError
- Аннотации типов в Python
- Очистка списка от False, None, 0, «»
- Декораторы в Python
- F-строки в Python
- Преобразование строк в числа в Python
- Получение текущего времени в Python
- Объединение коллекций в Python
- Функции all и any в Python
- Округление дробей в Python
- Создание и операции с дробями
- Создание множества в Python
- Комментарии в Python.
- Преобразование текста в речь с Python
- Оператор обр. импликации
- Логические операторы в Python
- Отношения подклассов в Python
- Игра «Камень, ножницы, бумага» — Python
- Лямбда-функции в Python
- Использование функции enumerate()
- Лямбда-функции в Python
- Область видимости переменных
- Правила именования переменных
- Модуль os в Python: работа с файлами
- Избегание изменяемых аргументов
- Переопределение метода divmod
- Сортировка HTML-элементов
- Метод gt в Python
- Конвертация текстовых чисел с помощью Numerizer
- Проверка элемента в множестве.
- Применение команды break
- Лимиты на ресурсы Python
- Форматирование строк в Python
- Выключение компьютера с помощью Python
- Запрос DELETE с библиотекой requests
- Изучение объектов с помощью dir()
- Декораторы в Python
- Метод setitem в Python
- Метод join() для объединения строк
- Замена символов в строке
- Создание итератора
- Создание уникального проекта
- enumerate() в Python для работы с индексами
- Проектирование Singleton с метаклассом
- Роль запятой в Python
- Итераторы в Python
- Карта бомбоубежищ в Москве и Питере
- Работа со строками в Python















