Курс 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
- Combobox в Tkinter
- Установка и использование Telegram API в Python
- Метод getitem для доступа к элементам последовательности
- Создание генераторов в Python
- Генерация случайных чисел в Python
- Установка переменной среды в Python
- Объединение словарей в Python
- Модуль functools в Python
- *args и **kwargs в Python
- Нахождение самого длинного слова в списке с помощью max
- Работа с датами в Python
- Курсы Яндекс Практикум
- Выключение компьютера с помощью Python
- Справка по импортированным модулям
- Метод get() в Python
- Работа с изменяемыми списками
- Работа с YAML в Python
- Работа с итераторами в Python
- Создание и операции с дробями
- Оператор Walrus в Python 3.8
- Логические значения в Python
- JMESPath в Python
- Форматирование кода на Python
- Транспонирование матрицы
- Исключение NotImplementedError
- Непрерывная проверка в Python
- Создание задания в Cron
- Списковое включение в Python
- Метод __imod__ для Python
- Переопределение метода __floordiv__
- Скачать видео с YouTube
- Модуль os: работа с файлами и папками
- Метод clear для коллекций
- Функция format() в Python
- Множественные конструкторы в Python
- Поиск уникальных элементов строкой в Python
- Создание уникального проекта
- Работа с изображениями Pillow
- Явный импорт переменных
- Определение объема памяти объекта
- Работа с NumPy массивами
- Глобальные переменные в Python
- Сортировка HTML-элементов















