Курс 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"

  1. Именованные кортежи в Python
  2. Создание итератора
  3. Игра «Камень, ножницы, бумага» — Python
  4. Combobox в Tkinter
  5. Установка и использование Telegram API в Python
  6. Метод getitem для доступа к элементам последовательности
  7. Создание генераторов в Python
  8. Генерация случайных чисел в Python
  9. Установка переменной среды в Python
  10. Объединение словарей в Python
  11. Модуль functools в Python
  12. *args и **kwargs в Python
  13. Нахождение самого длинного слова в списке с помощью max
  14. Работа с датами в Python
  15. Курсы Яндекс Практикум
  16. Выключение компьютера с помощью Python
  17. Справка по импортированным модулям
  18. Метод get() в Python
  19. Работа с изменяемыми списками
  20. Работа с YAML в Python
  21. Работа с итераторами в Python
  22. Создание и операции с дробями
  23. Оператор Walrus в Python 3.8
  24. Логические значения в Python
  25. JMESPath в Python
  26. Форматирование кода на Python
  27. Транспонирование матрицы
  28. Исключение NotImplementedError
  29. Непрерывная проверка в Python
  30. Создание задания в Cron
  31. Списковое включение в Python
  32. Метод __imod__ для Python
  33. Переопределение метода __floordiv__
  34. Скачать видео с YouTube
  35. Модуль os: работа с файлами и папками
  36. Метод clear для коллекций
  37. Функция format() в Python
  38. Множественные конструкторы в Python
  39. Поиск уникальных элементов строкой в Python
  40. Создание уникального проекта
  41. Работа с изображениями Pillow
  42. Явный импорт переменных
  43. Определение объема памяти объекта
  44. Работа с NumPy массивами
  45. Глобальные переменные в Python
  46. Сортировка HTML-элементов

Marketello читают маркетологи из крутых компаний