Курс 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. Функция zip() в Python
  2. Создание пользовательской коллекции в Python
  3. Объединение словарей в Python
  4. Поиск повторов в списке
  5. globals и locals
  6. Хэш-функции и метод цепочек
  7. Concrete Paths в Python
  8. Сравнение объектов в Python
  9. Применение промокода в Много лосося
  10. Работа с итераторами в Python
  11. Метод __int__ в Python
  12. Округление банкира в Python
  13. f-строки в формате строк
  14. Курсы Яндекс Практикум
  15. Dict Comprehension в Python
  16. Обмен данными с asyncio.Queue
  17. Работа с deque из collections
  18. Оператор «not» в Python
  19. Реализация метода __abs__ в Python
  20. Печать календаря
  21. Метод bool() в Python
  22. Запуск файлового сервера
  23. Определение относительного пути
  24. Генерация QR-кодов с библиотекой qrcode
  25. Обновление множества в Python
  26. Цикл while в Python
  27. Кортеж в Python: создание, доступ, изменение
  28. Атрибуты класса и экземпляра в Python
  29. Проверка кортежей.
  30. Основы слова
  31. Использование defaultdict в Python
  32. Оператор морж в Python 3.8
  33. Нахождение хеша для бесконечности и NaN в Python
  34. Функции в Python
  35. Цепные операции в Python
  36. Проверка элементов списка условием
  37. Работа с zip-архивами в Python
  38. Модуль subprocess: запуск внешних команд
  39. Форматирование строк в Python
  40. Область видимости переменных
  41. Defaultdict в Python
  42. Определение индекса элемента списка
  43. Импорт объектов из модулей
  44. Функция enumerate() в Python
  45. Работа с путями в Python
  46. Работа с файловой системой в Python
  47. Изменяемые и неизменяемые объекты

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