Курс 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. Бесконечная проверка в Python
  2. Основы Python
  3. Основы работы со списками
  4. Оператор space-invader
  5. enumerate() в Python для работы с индексами
  6. Оптимизация памяти с __slots__
  7. Модуль math: основные функции
  8. Моржовый оператор в Python 3.8
  9. Вложенные циклы в Python
  10. Извлечение новостей с newspaper3k
  11. Регистрация на курсы SF Education
  12. Создание пользовательской коллекции в Python
  13. Установка Home Assistant
  14. Форматирование данных с помощью pprint
  15. Лямбда-функции для min/max
  16. Инициализация объекта
  17. Импорт и использование модулей в Python
  18. Удаление знаков препинания в Python
  19. Объявление переменных в Python
  20. Удаление URL-адресов в Python
  21. Ограничение ресурсов в Python
  22. Форматирование строк в Python
  23. Операции с комплексными числами
  24. Избегайте двойного подчеркивания
  25. Списковое включение в Python
  26. Библиотека funcy: удобные утилиты
  27. Синтаксис переменных цикла в Python
  28. Вывод букв строки в Python
  29. Настройка нарезки списков
  30. Работа с timedelta в Python
  31. Метод __complex__ в Python
  32. Генераторы в Python
  33. Управление User-Agent в Python
  34. Необязательные аргументы в Python
  35. Конкатенация строковых литералов
  36. Работа с географическими данными.
  37. Работа с getopt
  38. Перегрузка операторов в Python
  39. Генерация случайных данных в NumPy
  40. Сравнение объектов в Python
  41. Работа со строками в Python.
  42. Создание циклической ссылки
  43. Установка библиотек в Python
  44. UserString в Python

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