Курс Python → Генераторные функции в Python
Генераторные функции (generator functions) в Python представляют собой специальный вид функций, которые позволяют создавать итераторы. Итераторы позволяют поэлементно обходить коллекции данных, не загружая все элементы в память сразу. Если у вас есть необходимость фильтровать или обрабатывать элементы списка, то использование генераторных функций может быть удобным решением.
Для определения генераторной функции в Python используется ключевое слово yield. Когда функция содержит оператор yield, она становится генераторной функцией. Вместо того чтобы возвращать результат с помощью return, генераторная функция возвращает объект-генератор, который может быть использован для итерации по значениям, генерируемым функцией по одному.
Одним из главных преимуществ использования генераторных функций является экономия памяти. Поскольку генераторы не хранят все элементы в памяти сразу, они позволяют эффективно обрабатывать большие объемы данных. Кроме того, генераторы могут улучшить читаемость кода и упростить его структуру, особенно при работе с большими коллекциями данных.
def filter_even_numbers(numbers):
for number in numbers:
if number % 2 == 0:
yield number
even_numbers = filter_even_numbers([1, 2, 3, 4, 5, 6])
for number in even_numbers:
print(number)
В приведенном примере мы создаем генераторную функцию filter_even_numbers, которая фильтрует четные числа из списка. Затем мы создаем объект-генератор even_numbers, который мы можем использовать для итерации по отфильтрованным значениям. При вызове функции print будут выведены только четные числа из списка.
Другие уроки курса "Python"
- Функции-генераторы в Python
- Повторение элементов в Python
- Печать месячного календаря
- Проверка условий в Python
- Функция map() и ленивая оценка
- Определение наиболее частого элемента с помощью collections.Counter
- Оператор «not» в Python
- Участие в сообществе @selectel
- Введение в PyTorch
- Форматирование строк в Python
- Иерархия классов в Python
- Установка и использование Telegram API в Python
- Оптимизация поиска в словарях
- Работа с комплексными числами
- Очистка данных в Python
- Создание словарей и множеств в Python.
- Константы в модуле cmath
- Форматирование данных с помощью pprint
- Форматирование заголовков в Python
- Форматирование строк в Python
- Проверка запуска скрипта или импорта модуля
- Проверка на палиндром
- Округление в Python
- Добавление элементов в список: append() vs extend()
- Установка и использование модуля Wikipedia
- Наследование в программировании
- Логирование с Logzero
- Пропуск строк в файле с itertools
- Создание словарей с defaultdict()
- Работа со строками в Python
- Конкатенация строк в Python
- Лямбда-функции в Python
- Решение переменной Шредингера
- Преобразование кортежа в словарь.
- Получение срезов итераторов
- Проверка на истинность объектов в Python
- Работа с YAML в Python
- Форматирование строк в Python
- Изменение переменной в Python: nonlocal
- Работа с контекстными переменными
- Однострочники Python
- Выборка чисел
- Форматирование строк с помощью f-строк
- Печать комбинаций в Python с Itertools
- Построение графиков в терминале с bashplotlib
- Python enumerate() использование
- Оператор in и not in в Python















