Курс Python → Генераторные функции в Python

Генераторные функции в Python представляют собой специальный тип функций, которые позволяют создавать итераторы. Они отличаются от обычных функций тем, что вместо ключевого слова return используется ключевое слово yield. Это позволяет функции вернуть значение и временно приостановить свое выполнение, сохраняя состояние.

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

Для создания генераторной функции в Python необходимо определить функцию с использованием ключевого слова yield. Пример простой генераторной функции, которая генерирует последовательность чисел от 0 до n:


def generate_numbers(n):
    for i in range(n):
        yield i

После определения генераторной функции, можно использовать ее для создания итератора. Например, чтобы вывести все числа от 0 до 9, можно сделать следующее:


numbers = generate_numbers(10)
for num in numbers:
    print(num)

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

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

Автор урока

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

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

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

  1. Создание новых списков через list comprehensions
  2. Проверка класса объекта
  3. Работа с кортежами в Python
  4. Слияние словарей в Python 3.9
  5. Flask — веб-фреймворк Python
  6. Итераторы в Python
  7. Поиск уникальных элементов строкой в Python
  8. Логический оператор «and» в Python
  9. Установка и использование howdoi
  10. Удаление элементов во время итерации
  11. Метод enumerate() в Python
  12. Тестирование с unittest
  13. Метод is_absolute() для PurePath
  14. Проверка подстроки в строке с помощью in
  15. Работа с файлами в Python
  16. Функции-генераторы в Python
  17. Использование модуля __future__
  18. Сериализация объектов в Python
  19. Блок else в обработке исключений
  20. Функция product() из itertools
  21. Сравнение строк в Python
  22. Создание генераторов в Python
  23. Работа с контекстными переменными
  24. Объединение словарей в Python
  25. Динамическая типизация в Python
  26. Функция enumerate() в Python
  27. Объединение словарей в Python
  28. Многоточие в Python
  29. Асинхронное программирование с asyncio
  30. Метод hash в Python
  31. Операторы увеличения и уменьшения в Python
  32. Работа со словарями
  33. Идентификатор объекта в Python
  34. Очистка данных с Pandas
  35. UserString в Python
  36. Объединение множеств в Python
  37. Форматирование строк в Python.
  38. Проверка условий в Python
  39. Дефолтные параметры в Python
  40. Создание вложенного генератора
  41. Метод count() для списков
  42. Фильтрация списка чисел
  43. Получение срезов итераторов
  44. Проблема сравнения словарей

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