Курс 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"
- Проверка строки на палиндром
- Обработка ошибок в JSON данных
- Копирование объектов в Python
- Операции с матрицами в Python
- Методы Python для работы с данными
- Colorama: окрашивание текста в Python
- Удаление ресурса в Python
- Итераторы с потерямиZIP
- Перегрузка операторов в Python
- Поиск шаблона в начале строки
- Функции с дополнением
- Enum в Python
- Операции с кортежами
- Подсчет частотности элементов в Python
- Модуль math: константы π и e
- Многострочные строки в Python
- Ускорение кода с помощью векторизации
- Solidity для DeFi Ethereum
- Форматирование вывода списков
- Возврат значений из генератора
- Виртуальные среды в Python
- Создание GUI с Tkinter: Entry
- Вывод с переменной через запятую
- Python Ellipsis использование
- Antigravity модуль
- Функции в Python
- Получение пути к текущему скрипту с помощью os
- Работа с байтовыми строками в Python
- Принципы LSP и ISP в Python
- Установка и использование Logzero
- Установка виртуального окружения Python
- Счетчик ссылок в Python
- Метод splitlines() для разделения строк
- Подсчет элементов в Python
- Измерение времени выполнения кода
- ChainMap.new_child() — добавление нового словаря
- Склеивание строк через метод join()
- Работа с deque в Python
- Подсчет элементов с помощью Counter
- Оператор морж в Python 3.8
- Изменение IP-адреса в Python
- Сортировка и обратный порядок
- Профилирование данных с Pandas.
- Ключевое слово global в Python















