Курс 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. Метод classmethod
  2. Разделение строк в Python
  3. Игра «Угадывание чисел»
  4. Преобразование символов с помощью map
  5. Поиск шаблона в начале строки
  6. Оператор += в Python
  7. Склеивание строк через метод join()
  8. Работа с файлами в Python
  9. Сортировка слиянием
  10. Автоматизация с Python
  11. Создание новых списков
  12. Подсчет часто встречающихся элементов
  13. Переопределение метода
  14. Генератор списка с условием if
  15. Срез в Python
  16. Декодирование строк в Python
  17. Итерация по итерируемым объектам
  18. Форматирование строк в Python
  19. Декоратор Ajax required
  20. Особенности запятых в Python
  21. Применение функции к элементам списка
  22. Метод enumerate() в Python
  23. Экспорт данных в файл.
  24. Преобразование многоуровневого словаря
  25. Названия столбцов в Python таблицах
  26. Импорт объектов из модулей
  27. Функции высшего порядка в Python
  28. Игра «Виселица» на Python
  29. Удаление дубликатов в pandas
  30. Визуализация пропусков данных
  31. Работа с OpenCV
  32. Комментарии в Python
  33. JMESPath в Python
  34. Настройка шрифта и цвета в Tkinter
  35. Печать комбинаций в Python с Itertools
  36. Работа со строками в Python.
  37. Функция zip() в Python
  38. Переменные в Python
  39. Работа с словарями в Python
  40. Работа с каталогами в Python
  41. Список переменных с %who
  42. Функция reduce() из модуля functools
  43. Профилирование кода
  44. Сглаживание списка
  45. Проекты на Python
  46. Python Enum Weekday Usage
  47. Преобразование вложенного списка
  48. Декораторы с аргументами в Python

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