Курс 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
- Наследование в программировании
- 9 уловок для чистого кода
- Удаление дубликатов из списка с помощью dict.fromkeys
- Регулярные выражения: метод match
- Функция с *args.
- Сокращение ссылок с pyshorteners
- Инициализация структур данных
- Работа с очередями в Python
- Фильтрация данных в Python.
- Переворот списка в Python
- Установка и использование pyshorteners
- Python Ellipsis использование
- Поиск подстроки в строке
- Нахождение пересечения множеств
- Поиск анаграмм с Counter
- Декоратор Ajax required
- Управление контекстом выполнения
- Асинхронный код в Python
- Комментарии в Python.
- Списки в Python
- Обучение модели с указанием эпох
- Установка пакетов с помощью pip
- Python enumerate() для работы с индексами
- Метод get для словаря
- Искажение имен в Python
- Модуль os в Python: работа с файлами
- Метод rsub в Python: расширение функциональности вычитания
- Создание коллекций из генератора
- Python Метод del.
- Генерация случайных данных в NumPy
- Группировка элементов в словарь
- Работа со строками в Python.
- Работа с argparse
- Форматирование строк с f-строками
- Модуль sys: основы
- Проверка файла .py на синтаксис.
- Библиотека sh: удобные команды терминала
- Импорт в Python: список all
- Библиотека Emoji: использование смайлов в Python
- Оператор Walrus: правильное использование
- Блок else в циклах Python
- Оператор обр. импликации
- Функциональное программирование в Python
- Операторы += в Python
- Работа с типами данных в Python с помощью pydantic.
- Обработка исключений в Python 3















