Курс Python → Генераторы в Python

Генераторные функции — это мощный инструмент в Python, который позволяет создавать итераторы с минимальным использованием памяти. Вместо того чтобы создавать список или кортеж сразу со всеми значениями, генераторная функция генерирует значения по мере необходимости. Это особенно полезно, когда у вас есть большой объем данных, которые необходимо обработать поэлементно.

Для создания генераторной функции в Python используется ключевое слово yield. Когда интерпретатор Python встречает оператор yield в функции, он приостанавливает выполнение функции и возвращает значение. При следующем вызове функции выполнение продолжается с того же места, где оно было приостановлено, и продолжается до следующего оператора yield.


def my_generator():
    for i in range(5):
        yield i

gen = my_generator()
for value in gen:
    print(value)

В этом примере функция my_generator является генераторной функцией, которая возвращает числа от 0 до 4. При вызове функции my_generator() создается объект-генератор, который можно использовать в цикле for для обхода всех значений, сгенерированных функцией.

Использование генераторных функций особенно полезно в случаях, когда необходимо применить серию фильтров или обработчиков к элементам списка. Вместо того чтобы создавать промежуточные списки с отфильтрованными значениями, можно использовать генераторы для ленивой обработки данных, что позволяет сэкономить память и улучшить производительность.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Методы HTTP запросов в Flask
  2. Генератор бросков кубиков
  3. Функции высшего порядка в Python
  4. Метод join() для объединения элементов
  5. globals и locals
  6. Генерация UUID в Python
  7. Игра «Виселица» на Python
  8. Создание и операции с дробями
  9. Преобразование многоуровневого словаря
  10. Flask — веб-фреймворк Python
  11. Методы __repr__ и __str__ в Python
  12. Присвоение значений переменным в Python
  13. Создание новых функций через partial
  14. Атрибуты массивов в Numpy
  15. Декораторы в Python
  16. Проверка вхождения подстроки
  17. Установка переменной среды в Python
  18. Преобразование текста в речь с Python
  19. Создание GUI на Tkinter
  20. Генераторные функции в Python
  21. Определение размера папок в Python
  22. Работа с контекстными менеджерами
  23. Функции в Python: создание и вызов
  24. Методы split() и join() — Python строк.
  25. Создание namedtuple списком полей
  26. TON Smart Challenge #2: участие и подготовка
  27. Преобразование числа в список цифр
  28. Изменяемые и неизменяемые объекты
  29. Python reversed() vs срез[::-1]
  30. Форматирование строк в Python
  31. Работа с итераторами в Python
  32. Python Метод sleep() времени
  33. Взаимодействие с sys
  34. Работа с контекст-менеджером «with»
  35. Генераторы в Python
  36. Подсчет частоты элементов с Counter
  37. Расчет времени выполнения
  38. Основы Python за 14 дней
  39. Вычисление разности множеств в Python
  40. Работа со списками
  41. Класс-оболочка для словарей
  42. Импорт с альтернативным именем
  43. Работа с множествами в Python
  44. Запуск внешнего кода в Jupyter
  45. Извлечение аудио из видео
  46. Python Метод sleep() из time
  47. Проверка условий: all и any

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