Курс 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. Создание словарей с defaultdict
  3. Удаление URL-адресов в Python
  4. Прокачанный трейсинг ошибок
  5. Форматирование строк с f-строками
  6. Цикл while в Python
  7. Эффективная конкатенация строк в Python
  8. Изменение списка срезом
  9. Функция map() в Python
  10. Mad Libs Generator
  11. Форматирование строк в Python
  12. Замена атрибута в именованном кортеже
  13. Управление контекстом выполнения кода
  14. Хранение данных с помощью dataclasses
  15. Установка и использование Telegram API в Python
  16. Тест скорости набора текста на Python
  17. Метод __index__ в Python
  18. Выход из профиля в Django
  19. Использование type hints
  20. Docstring в Python
  21. Python Метод del.
  22. Python: отличительная особенность — отступы
  23. Методы в Python
  24. Операции с числами в Python
  25. Глобальные переменные в Python
  26. Python Enum Weekday Usage
  27. Преобразование числа в список цифр
  28. Функция map() и ленивая оценка
  29. Работа с Requests для HTTP-запросов
  30. Использование defaultdict в Python
  31. Генерация случайных данных в NumPy
  32. Работа с словарями в Python
  33. Проверка переменных окружения в Python
  34. Работа с argparse
  35. Реализация метода __abs__ в Python
  36. Проверка типа объекта в Python
  37. kwargs в Python
  38. Инверсия списка и строки в Python
  39. Работа с deque из collections
  40. Создание виртуальной среды
  41. Введение в PyTorch
  42. Метод join() для объединения элементов в строку.

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