Курс Python → Генераторы в Python

Генераторные функции — это мощный инструмент в Python, который позволяет создавать итераторы с минимальным использованием памяти. Вместо того чтобы создавать список или кортеж сразу со всеми значениями, генераторная функция генерирует значения по мере необходимости. Это особенно полезно, когда у вас есть большой объем данных, которые необходимо обработать поэлементно.

Для создания генераторной функции в Python используется ключевое слово yield. Когда интерпретатор Python встречает оператор yield в функции, он приостанавливает выполнение функции и возвращает значение. При следующем вызове функции выполнение продолжается с того же места, где оно было приостановлено, и продолжается до следующего оператора yield.


def my_generator():
    for i in range(5):
        yield i

gen = my_generator()
for value in gen:
    print(value)

В этом примере функция my_generator является генераторной функцией, которая возвращает числа от 0 до 4. При вызове функции my_generator() создается объект-генератор, который можно использовать в цикле for для обхода всех значений, сгенерированных функцией.

Использование генераторных функций особенно полезно в случаях, когда необходимо применить серию фильтров или обработчиков к элементам списка. Вместо того чтобы создавать промежуточные списки с отфильтрованными значениями, можно использовать генераторы для ленивой обработки данных, что позволяет сэкономить память и улучшить производительность.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Проверка строки на палиндром
  2. Обработка ошибок в JSON данных
  3. Копирование объектов в Python
  4. Операции с матрицами в Python
  5. Методы Python для работы с данными
  6. Colorama: окрашивание текста в Python
  7. Удаление ресурса в Python
  8. Итераторы с потерямиZIP
  9. Перегрузка операторов в Python
  10. Поиск шаблона в начале строки
  11. Функции с дополнением
  12. Enum в Python
  13. Операции с кортежами
  14. Подсчет частотности элементов в Python
  15. Модуль math: константы π и e
  16. Многострочные строки в Python
  17. Ускорение кода с помощью векторизации
  18. Solidity для DeFi Ethereum
  19. Форматирование вывода списков
  20. Возврат значений из генератора
  21. Виртуальные среды в Python
  22. Создание GUI с Tkinter: Entry
  23. Вывод с переменной через запятую
  24. Python Ellipsis использование
  25. Antigravity модуль
  26. Функции в Python
  27. Получение пути к текущему скрипту с помощью os
  28. Работа с байтовыми строками в Python
  29. Принципы LSP и ISP в Python
  30. Установка и использование Logzero
  31. Установка виртуального окружения Python
  32. Счетчик ссылок в Python
  33. Метод splitlines() для разделения строк
  34. Подсчет элементов в Python
  35. Измерение времени выполнения кода
  36. ChainMap.new_child() — добавление нового словаря
  37. Склеивание строк через метод join()
  38. Работа с deque в Python
  39. Подсчет элементов с помощью Counter
  40. Оператор морж в Python 3.8
  41. Изменение IP-адреса в Python
  42. Сортировка и обратный порядок
  43. Профилирование данных с Pandas.
  44. Ключевое слово global в Python

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