Курс 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. Инвертирование словаря
  2. Ускорение обработки данных с %autoawait
  3. Работа со временем в Python
  4. Приближение чисел в Python
  5. Капитализация строк
  6. Переопределение метода __floordiv__
  7. Python defaultdict добавление ключа
  8. Декораторы в Python
  9. Метод сравнения объектов в Python
  10. Сохранение Unicode в JSON
  11. Объединение строк с помощью метода join
  12. Counter() — подсчет элементов
  13. Генераторы словарей и множеств
  14. Строки в Python: апострофы и кавычки
  15. Преобразование генераторов в циклы
  16. Работа с YAML в Python
  17. Проверка типов с использованием isinstance
  18. Профилирование данных с Pandas
  19. Работа с изменяемыми списками
  20. Реализация метода __abs__ в Python
  21. Импорт классов из другого файла
  22. Использование функции enumerate()
  23. Группы исключений в Python
  24. Названия столбцов в Python таблицах
  25. Оптимизация памяти с __slots__
  26. Подсчет элементов в списке с Counter
  27. Стать Python-разработчиком
  28. Функция product() из itertools
  29. Метод matmul для умножения матриц
  30. Настройка Cron
  31. Генераторы в Python
  32. Функции с необязательными аргументами
  33. Копирование объектов в Python
  34. Управление памятью в numpy.
  35. Объединение словарей в Python
  36. Просмотр файла в Jupyter Noteboo
  37. Комментарии в Python
  38. Перетасовка списков в Python
  39. Поиск наиболее частого элемента в списке
  40. Операторы += в Python
  41. Замена подстроки
  42. Получение списка файлов в директории с использованием os
  43. Декоратор Property в Python
  44. Наиболее частотные элементы с помощью Counter
  45. Добавление элементов в список

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