Курс 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. Функция reversed() в Python
  2. Изменение IP-адреса в Python
  3. Создание объекта timedelta
  4. Генерация случайных чисел в Python
  5. Проверка типов с помощью isinstance
  6. Обмен значений переменных в Python
  7. Генератор надежных паролей
  8. Сглаживание списка
  9. Работа с процессами в Python
  10. Удаление элемента по индексу
  11. Цикл for в Python
  12. Работа с комплексными числами
  13. Удаление символов новой строки в Python.
  14. Работа с датой и временем в Python
  15. Метод matmul для умножения матриц
  16. Метод join() для объединения строк
  17. Вычисление натуральных логарифмов в NumPy
  18. Цепные операции в Python
  19. Конкатенация строк с join() в Python
  20. Порядок и длина множеств в Python
  21. Декораторы в Python
  22. Генерация случайных чисел Python
  23. Измерение времени выполнения кода
  24. Импорт модулей в Python 3.12
  25. Dict Comprehension в Python
  26. Настройка вывода NumPy
  27. Переопределение метода len
  28. Функция enumerate в Python
  29. Библиотека Chartify: руководство
  30. Проверка подстроки в строке с помощью in
  31. Преобразование строк в числа в Python
  32. Python Менеджер контекста
  33. Динамические маршруты во Flask
  34. Нан-рефлексивность в Python
  35. Работа с комплексными числами в Python
  36. Загрузка постов Instagram
  37. Декодирование байтов в строку
  38. Распаковка с оператором *
  39. Python: библиотеки и функции
  40. Форматирование данных с pprint
  41. Руководство по библиотеке pydantic
  42. Блок try…finally в Python
  43. Необязательные аргументы в Python
  44. Бинарный поиск

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