Курс 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. Извлечение аудио из видео
  2. Подсчет количества элементов в списке
  3. Проверка версии Python
  4. Лямбда-функции в defaultdict
  5. Перебор элементов списка в Python
  6. Метод __call__ в Python
  7. Аннотации типов в Python
  8. Преобразование списков в словарь
  9. Удаление символов новой строки в Python.
  10. Генерация случайных чисел в Python
  11. Импортирование в Python
  12. Операторы += в Python
  13. Оператор деления для класса Rational
  14. Мощь вложенных функций в Python
  15. Хэш-функции в Python
  16. Объединение Python и Shell
  17. Сортировка с параметром key
  18. Работа с collections.Counter
  19. Работа с комплексными числами в Python
  20. Заказ карты Тинькофф Black
  21. Удаление ресурса в Python
  22. Участие в сообществе @selectel
  23. Преобразование Word в PDF с Spire.Doc
  24. Отображение графиков в Jupyter с Matplotlib
  25. Многострочные строки в Python
  26. Вычисление времени выполнения
  27. Работа со словарями в Python
  28. Искажение имен в Python
  29. Изучение объектов с помощью dir()
  30. Разделение строки с помощью re.split()
  31. Лямбда-функции в Python
  32. Генерация UUID в Python
  33. Работа с прокси в Python
  34. Создание .exe файла с pyinstaller
  35. Python 3.12: Псевдонимы типов
  36. Логические значения в Python
  37. Monkey Patching в Python
  38. Переопределение метода
  39. Множественное назначение в Python
  40. Метод get() в Python
  41. Именованные срезы в Python
  42. Локальные переменные.
  43. Асинхронное программирование с asyncio
  44. Функция zip() в Python

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