Курс 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. lru_cache оптимизация функций
  2. Чтение бинарного файла в Python.
  3. Синтаксис переменных цикла в Python
  4. Создание и использование модулей в Python
  5. Переопределение унарных операторов
  6. Функция enumerate() — Python
  7. Транспонирование 2D-массива с помощью zip
  8. Проверка типа данных
  9. Установка Python — Простое руководство
  10. Функция enumerate() в Python
  11. Обработка исключений в Python
  12. Оператор in в Python
  13. Уникальные значения из списка
  14. Подробная информация о %pinfo
  15. Генераторы в Python
  16. Вычисление разности множеств в Python
  17. Проверка подстроки в строке с помощью in
  18. Умножение строк и списков
  19. Создание новых списков в Python
  20. Метод enumerate() в Python
  21. Работа с JSON в Python
  22. Работа с itertools
  23. Метод join() для объединения строк
  24. Работа с кортежами в Python
  25. Поиск файлов по шаблону
  26. Генератор надежных паролей
  27. Удаление ключа из словаря
  28. Метод rename() для переименования файлов и каталогов
  29. Поиск всех индексов подстроки
  30. Определение функций с необязательными аргументами
  31. Глобальные переменные в Python
  32. Транспонирование 2D-массива с помощью zip
  33. Поиск HTML-элементов с BeautifulSoup
  34. Форматирование чисел в Python
  35. Создание и удаление объектов
  36. Игра Виселица на Python
  37. Декоратор Property в Python
  38. Декораторы в Python
  39. Преобразование данных в Python
  40. Регулярные выражения: метод match
  41. Поиск шаблона в начале строки
  42. Работа с библиотекой requests
  43. Переопределение метода __pow__
  44. Транспонирование матрицы в Python

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