Курс 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. Декораторы в Python
  2. Объединение объектов в Python
  3. Просмотр атрибутов и методов класса
  4. Оптимизация параметров в Python
  5. Создание множества в Python
  6. Логирование с Logzero
  7. Функции высшего порядка в Python
  8. Частичное совпадение пользовательского ввода в Python 3.10
  9. Хранение данных
  10. Работа с Enum в Python3.
  11. Настройка вывода NumPy
  12. Создание класса в Python
  13. Конкатенация строковых литералов
  14. Проверка переменных окружения в Python
  15. Переопределение оператора % для объектов
  16. Проверка индексов коллекции
  17. Деление в Python
  18. Flask — веб-фреймворк Python
  19. Курс по дообучению ChatGPT
  20. Поиск подстроки в строке
  21. Объединение словарей в Python
  22. Проблема сравнения словарей
  23. Переменные в Python: сокращение гласных
  24. Создание OrderedDict
  25. Создание именованных кортежей в Python
  26. Генерация QR-кодов с Python
  27. Распаковка элементов массива
  28. Big O оптимизация
  29. Команда %dhist — список посещенных каталогов
  30. Создание уникального проекта
  31. Сложение матриц в NumPy
  32. Группы исключений в Python
  33. Python groupby() из itertools: работа с повторяющимися элементами
  34. Логирование с Logzero
  35. Оператор объединения словарей
  36. Множественные конструкторы в Python
  37. Циклы в Python
  38. Проверка условий: all и any
  39. Хранение переменных в Python.
  40. Python: библиотеки и функции
  41. Ускорение выполнения кода в Python
  42. Резервирование символов в Python
  43. Enum в Python: создание и использование перечислений
  44. Лямбда-функции в Python
  45. Многоточие в Python
  46. Аргументы *args и **kwargs

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