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

Генераторные функции (generator functions) — это мощный инструмент в Python, который позволяет создавать итераторы с помощью ключевого слова yield. Когда у вас есть необходимость обработать большой объем данных или выполнить сложные операции с элементами списка, генераторные функции становятся незаменимыми. Они позволяют удобно организовать фильтрацию и обработку элементов списка, не загружая память излишне.

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

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


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

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

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

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

Автор урока

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

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

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

  1. Управление браузером с Selenium
  2. Множественное наследование в Python
  3. Иерархия классов в Python
  4. Установка и использование модуля Wikipedia
  5. Работа с библиотекой xkcd
  6. Оптимизация интернирования строк
  7. Установка пакетов с помощью pip
  8. Метод get() для словарей
  9. Построение графиков в Matplotlib
  10. Расчет времени выполнения
  11. Генераторы в Python
  12. Округление банкира в Python
  13. Декоратор защиты анонимных пользователей
  14. Методы в Python
  15. Управление доступом к модулю
  16. Работа с буфером обмена на Python
  17. Форматирование строк в Python
  18. Форматирование данных с помощью pprint
  19. Скрытие вывода данных
  20. inspect в Python: анализ кода
  21. Измерение времени выполнения
  22. Изменение IP-адреса в Python
  23. Таймер обратного отсчета
  24. Оценка выражений генератора в Python
  25. Список переменных в Python
  26. Проверка строки на палиндром
  27. Проверка условий: all и any
  28. Замена символов в Python
  29. Python Тесты и Гайды
  30. Утечки переменных цикла в Python 3.x
  31. Принципы программирования
  32. Сортировка элементов в Python
  33. Многострочные комментарии в Python
  34. Работа с YAML в Python
  35. Использование функции enumerate()
  36. Циклы for в Python
  37. Библиотека wikipedia для Python
  38. Вычисление логарифмов в Python
  39. Метод gt в Python
  40. Сортировка данных с лямбда-функциями
  41. Упрощение работы с JSON-данными в Python
  42. Удаление элемента из списка
  43. Создание тестовых данных с Faker

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