Курс 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. Сравнение def и lambda функций в Python
  2. Bootle — простой веб-фреймворк
  3. Оператор объединения словарей
  4. Списки в Python: синтаксис представления
  5. Безопасный доступ к значениям словаря
  6. Метод __ixor__ для побитового исключающего ИЛИ
  7. Закрытие файла в Python
  8. Работа с defaultdictами в Python
  9. Визуализация пропусков данных
  10. Оператор «not» в Python
  11. Замена элементов в списке с помощью генераторов списков
  12. Перевод двоичного кода в целое число
  13. Управление виртуальными средами в Python
  14. Оператор is в Python
  15. Очистка данных с Pandas
  16. Python Calendar Usage
  17. Работа с timedelta в Python
  18. Область видимости переменных
  19. Лямбда-функции в defaultdict
  20. Lambda-функция в Python: использование с map() и sum()
  21. Оператор continue в Python
  22. Функция zip() для объединения списков
  23. Defaultdict в Python
  24. Цепные операции в Python
  25. Функции range() в Python
  26. Создание и использование модулей в Python
  27. Печать календаря
  28. List Comprehension Tutorial
  29. Преобразование кортежа в словарь.
  30. Копирование объектов в Python
  31. Enum в Python: создание и использование перечислений
  32. Работа с deque из collections
  33. Создание словарей и множеств в Python
  34. Анонимные функции в Python
  35. Объединение строк с помощью метода join
  36. Форматирование строк в Python
  37. Объединение списков с помощью zip
  38. Транспонирование матрицы в Python
  39. Перегрузка операторов в Python
  40. Функция map() и ленивая оценка
  41. Измерение времени выполнения кода
  42. Метод getitem для доступа к элементам последовательности
  43. Стать Python-разработчиком

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