Курс 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. Разделение строк методом split()
  2. Создание матрицы в Python
  3. Измерение времени выполнения кода
  4. Регистрация на хакатоне
  5. Группы исключений в Python
  6. Python: библиотеки и функции
  7. Monkey Patching в Python
  8. Анонимные функции в Python
  9. Работа со строками в Python
  10. Операторы сравнения в Python
  11. Подсчет часто встречающихся элементов
  12. Проверка версии Python
  13. Хэш-функции в Python
  14. Разбиение строки в Python
  15. Игра Виселица на Python
  16. Определение основы слова с showballstemmer
  17. Тернарный оператор в Python
  18. Реализация операции -= для пользовательского класса
  19. Фильтрация последовательности
  20. Установка и использование emoji
  21. Python: цикл for и оператор присваивания
  22. Работа с контекстными переменными
  23. Многострочные комментарии в Python
  24. Псевдонимы в Python
  25. Создание файла с проверкой ошибки
  26. Работа с множествами в Python
  27. Перегрузка операторов в Python
  28. Замена символов в Python
  29. Библиотека sh: удобные команды терминала
  30. Оператор умножения для вектора
  31. Работа с массивами в Numpy
  32. Работа с модулем os в Python
  33. Работа со строками в Python
  34. Python: Splat-оператор и splatty-splat
  35. Оператор обр. импликации
  36. Логирование в Python
  37. Анализ текста на русском языке с помощью Pymystem3
  38. Выражения-генераторы в Python
  39. Python Ellipsis использование
  40. Частичное совпадение ввода
  41. Получение атрибутов и методов класса
  42. Создание обратного итератора
  43. Разрешение имен в Python
  44. Обход элементов в Python
  45. Выражения-генераторы в Python
  46. Очистка данных с помощью pandas

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