Курс 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"
- Конвертация коллекций в Python
- Декораторы для регистрации функций
- Проблема сравнения словарей
- Блок else в обработке исключений
- Копирование объектов в Python
- Генераторы в Python
- Работа с контекстными переменными
- F-строки в Python
- Форматирование строк в Python
- Автоматизация действий с Pyautogui
- Комментарии в Python.
- Удаление эмодзи с помощью pandas
- Работа с изображениями PIL
- Умножение строк и списков
- Декоратор защиты анонимных пользователей
- Очистка данных с Pandas
- Работа с zip()
- Операции с матрицами в Python
- Перезагрузка оператора в Python
- Распаковка аргументов в Python
- Синтаксис переменных цикла в Python
- Метод get для словаря
- Асинхронный код в Python
- Отладка регулярных выражений в Python
- Хранение данных
- Форматирование строк в Python
- JSON-esque в Python
- Порядок операций в Python
- Получение обратного списка чисел
- Работа с PosixPath() в Python
- Удаление дубликатов из списка
- Сравнение строк в Python
- Управление контекстом выполнения кода
- Определение относительного пути
- Константы в модуле cmath
- Big O оптимизация
- Python: Фильтрация списков с помощью filter()
- Отладка производительности Python
- Логирование с Logzero
- Получение ID процесса
- Участие в LP стейкинге Waves
- Счетчик ссылок в Python
- Преобразование Excel в PDF с Spire.XLS
- Метод splitlines() для разделения строк
- Обработка ошибки IndexError
- Анонимные функции в Python
- Функция enumerate() — Python
- Операторы сравнения в Python















