Курс 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"
- Метод classmethod
- Разделение строк в Python
- Игра «Угадывание чисел»
- Преобразование символов с помощью map
- Поиск шаблона в начале строки
- Оператор += в Python
- Склеивание строк через метод join()
- Работа с файлами в Python
- Сортировка слиянием
- Автоматизация с Python
- Создание новых списков
- Подсчет часто встречающихся элементов
- Переопределение метода
- Генератор списка с условием if
- Срез в Python
- Декодирование строк в Python
- Итерация по итерируемым объектам
- Форматирование строк в Python
- Декоратор Ajax required
- Особенности запятых в Python
- Применение функции к элементам списка
- Метод enumerate() в Python
- Экспорт данных в файл.
- Преобразование многоуровневого словаря
- Названия столбцов в Python таблицах
- Импорт объектов из модулей
- Функции высшего порядка в Python
- Игра «Виселица» на Python
- Удаление дубликатов в pandas
- Визуализация пропусков данных
- Работа с OpenCV
- Комментарии в Python
- JMESPath в Python
- Настройка шрифта и цвета в Tkinter
- Печать комбинаций в Python с Itertools
- Работа со строками в Python.
- Функция zip() в Python
- Переменные в Python
- Работа с словарями в Python
- Работа с каталогами в Python
- Список переменных с %who
- Функция reduce() из модуля functools
- Профилирование кода
- Сглаживание списка
- Проекты на Python
- Python Enum Weekday Usage
- Преобразование вложенного списка
- Декораторы с аргументами в Python















