Курс Python → Генераторы в Python
Генераторные функции — это мощный инструмент в Python, который позволяет создавать итераторы с минимальным использованием памяти. Вместо того чтобы создавать список или кортеж сразу со всеми значениями, генераторная функция генерирует значения по мере необходимости. Это особенно полезно, когда у вас есть большой объем данных, которые необходимо обработать поэлементно.
Для создания генераторной функции в Python используется ключевое слово yield. Когда интерпретатор Python встречает оператор yield в функции, он приостанавливает выполнение функции и возвращает значение. При следующем вызове функции выполнение продолжается с того же места, где оно было приостановлено, и продолжается до следующего оператора yield.
def my_generator():
for i in range(5):
yield i
gen = my_generator()
for value in gen:
print(value)
В этом примере функция my_generator является генераторной функцией, которая возвращает числа от 0 до 4. При вызове функции my_generator() создается объект-генератор, который можно использовать в цикле for для обхода всех значений, сгенерированных функцией.
Использование генераторных функций особенно полезно в случаях, когда необходимо применить серию фильтров или обработчиков к элементам списка. Вместо того чтобы создавать промежуточные списки с отфильтрованными значениями, можно использовать генераторы для ленивой обработки данных, что позволяет сэкономить память и улучшить производительность.
Другие уроки курса "Python"
- Изменение IP-адреса в Python
- Избегание изменяемых аргументов
- Сравнение строк в Python
- Установка и использование emoji
- Транспонирование 2D-массива с помощью zip
- Оптимизация поиска в словарях
- Оператор морж в Python 3.8
- Обработка исключений
- Рекурсия для обращения строки
- Оператор объединения словарей
- Метод __index__ в Python
- Основы Python за 14 дней
- Модуль Operator в Python
- Python OrderedDict и fromkeys() — работа с словарями
- Работа со стеком в Python
- Основы работы со списками
- Замыкания в Python
- Создание генераторов
- Проверка подстроки в строке
- Контекстный менеджер в Python
- Хранение данных
- Функция rsplit() в Python
- Очистка данных с помощью pandas
- Конвертация текстовых чисел с помощью Numerizer
- Управление сессиями в Python
- Лимиты на ресурсы Python
- Метод count в Python: почему count(», ») возвращает 4?
- Создание панели меню Tkinter
- Python enumerate() для работы с индексами
- Создание коллекций из генератора
- Сохранение Unicode в JSON
- Объединение объектов в Python
- Работа с модулем cmath
- Создание и обучение модели с Keras
- Работа с zip()
- Перезапуск ячейки в Jupyter Notebook с dostoevsky
- Удаление символа из строки
- OrderedDict — упорядоченный словарь
- Избегайте использования goto
- Настройка нарезки списков
- Генераторы в Python
- Работа с комбинациями в Python.
- Функция eval() в Python















