Курс 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. Изменение IP-адреса в Python
  2. Избегание изменяемых аргументов
  3. Сравнение строк в Python
  4. Установка и использование emoji
  5. Транспонирование 2D-массива с помощью zip
  6. Оптимизация поиска в словарях
  7. Оператор морж в Python 3.8
  8. Обработка исключений
  9. Рекурсия для обращения строки
  10. Оператор объединения словарей
  11. Метод __index__ в Python
  12. Основы Python за 14 дней
  13. Модуль Operator в Python
  14. Python OrderedDict и fromkeys() — работа с словарями
  15. Работа со стеком в Python
  16. Основы работы со списками
  17. Замыкания в Python
  18. Создание генераторов
  19. Проверка подстроки в строке
  20. Контекстный менеджер в Python
  21. Хранение данных
  22. Функция rsplit() в Python
  23. Очистка данных с помощью pandas
  24. Конвертация текстовых чисел с помощью Numerizer
  25. Управление сессиями в Python
  26. Лимиты на ресурсы Python
  27. Метод count в Python: почему count(», ») возвращает 4?
  28. Создание панели меню Tkinter
  29. Python enumerate() для работы с индексами
  30. Создание коллекций из генератора
  31. Сохранение Unicode в JSON
  32. Объединение объектов в Python
  33. Работа с модулем cmath
  34. Создание и обучение модели с Keras
  35. Работа с zip()
  36. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  37. Удаление символа из строки
  38. OrderedDict — упорядоченный словарь
  39. Избегайте использования goto
  40. Настройка нарезки списков
  41. Генераторы в Python
  42. Работа с комбинациями в Python.
  43. Функция eval() в Python

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