Курс 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. Оператор walrus в Python
  3. Метод join() для объединения элементов строки
  4. Оператор Walrus в Python 3.8
  5. Поиск наиболее частого элемента в списке
  6. Синтаксис переменных цикла в Python
  7. Решатель судоку на Python с pygame
  8. Использование функции enumerate()
  9. Отправка POST запроса на сервер.
  10. inspect в Python: анализ кода
  11. Функция findall() для поиска вхождений строки
  12. Создание словаря с значением по умолчанию
  13. Обязательные аргументы в Python
  14. Функция zip() для объединения списков
  15. Загрузка постов Instagram
  16. Метод ifloordiv для пользовательских классов
  17. Работа с буфером обмена на Python
  18. Создание класса в Python
  19. Операторы увеличения и уменьшения переменной
  20. Создание новых списков в Python
  21. Хеширование паролей с использованием salt
  22. Ускорение выполнения кода в Python
  23. Управление памятью в numpy.
  24. Работа с контекст-менеджером «with»
  25. Модуль xkcd: загрузка комиксов
  26. Поиск частых элементов в списке
  27. Инициализация переменных
  28. Python Translator: создание локальных переводчиков
  29. Аннотации типов в Python
  30. Декодирование байтов в строку
  31. Делегирование в Python
  32. Функция reversed() в Python
  33. Логирование с Logzero: ротация файла
  34. Очистка вывода в Python
  35. Переворот строки
  36. Создание словарей в Python
  37. Удаление специальных символов с помощью re.sub
  38. Применение команды break
  39. Передача неизвестных аргументов в Python.
  40. Python Метод Union Множеств
  41. Метод rrshift для пользовательских объектов
  42. Тайное преобразование типа ключа
  43. Библиотека funcy: удобные утилиты
  44. Проверка подстроки в строке
  45. Закрытие файла в Python

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