Курс Python → Генераторы в Python
Генераторные функции (generator functions) — это мощный инструмент в Python, который позволяет создавать итераторы с помощью ключевого слова yield. Когда у вас есть необходимость обработать большой объем данных или выполнить сложные операции с элементами списка, генераторные функции становятся незаменимыми. Они позволяют удобно организовать фильтрацию и обработку элементов списка, не загружая память излишне.
Важным преимуществом использования генераторных функций является их эффективность. Поскольку генераторы работают по требованию (lazy evaluation), они не требуют хранения всех элементов списка в памяти одновременно. Вместо этого элементы обрабатываются по мере необходимости, что позволяет сэкономить ресурсы и улучшить производительность программы.
Для создания генераторной функции в Python необходимо использовать ключевое слово yield. Это ключевое слово позволяет вернуть значение из функции, приостановить ее выполнение и сохранить текущее состояние. При каждом вызове генераторной функции она продолжает выполнение с того места, где была приостановлена, что делает ее итератором.
def my_generator():
for i in range(5):
yield i
gen = my_generator()
for item in gen:
print(item)
В приведенном примере мы создаем генераторную функцию my_generator(), которая возвращает числа от 0 до 4 при каждом вызове. Затем мы создаем объект-генератор и итерируемся по нему, выводя каждый элемент на экран. Таким образом, мы можем эффективно обрабатывать большие объемы данных, не загружая память и повышая производительность программы.
Другие уроки курса "Python"
- Возврат нескольких значений
- Перевернуть список в Python
- Определение имен функций
- Метод getitem для доступа к элементам последовательности
- Доступ к локальным переменным
- Логирование с Logzero
- Работа с географическими данными.
- Python union() функция — объединение множеств
- Метод rmatmul для обратного матричного умножения
- Структура данных словарь в Python
- Методы в Python
- Создание директории в Python
- Условное добавление элементов в список
- Ограничение итераций в Python
- Метод Event.wait() в Python
- Установка и использование Python-dateutil
- Чтение бинарного файла в Python.
- Метод rxor для операции побитового исключающего «или»
- Роль запятой в Python
- Использование html-скриптов в Jupyter Notebook
- Изменение регистра данных
- Инверсия списка и строки
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Преобразование типов данных в set comprehension
- Методы Python для работы с данными
- Лямбда-функции в Python
- Функция rsplit() в Python
- Просмотр атрибутов и методов класса
- Работа с контекстными переменными
- Шаблоны Flask: условия и циклы
- Concrete Paths в Python
- Python 3.12: переиспользование кавычек
- Скачать видео с YouTube
- Аннотации типов в Python
- Декоратор для группы пользователей в Django
- Поиск уникальных элементов строкой в Python
- Виртуальные среды в Python
- Расширение информации об ошибке в Python
- Оператор «not» в Python
- Применение команды break
- Фильтрация списка от «ложных» значений
- Сортировка слиянием
- Оператор @ для умножения матриц
- Дефолтные параметры в Python















