Курс 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. Шаблоны и наследование в Flask
  2. Измерение времени выполнения кода
  3. Lambda-функция в Python: использование с map() и sum()
  4. Тайное преобразование типа ключа
  5. Разница между датами
  6. Названия переменных
  7. Подписка на @SelectelNews
  8. Оператор in в Python
  9. Создание пользовательской коллекции в Python
  10. OrderedDict — упорядоченный словарь
  11. Извлечение статей с newspaper3k
  12. Модуль functools в Python
  13. Преобразование документов в PDF с помощью Spire.Office
  14. Явный импорт в Python
  15. Конвертация коллекций в Python
  16. Работа с JSON данными в Python
  17. Вызов внешних программ в Python с помощью sh
  18. Распаковка аргументов в Python
  19. Итерации в Python
  20. Наиболее частотные элементы с помощью Counter
  21. Любовь к Python
  22. Изменение регистра данных
  23. Преобразование символов с помощью map
  24. Подписка на SelectelNews в Twitter
  25. Оператор assert в Python
  26. Показ всплывающих окон Tkinter
  27. Определение относительного пути
  28. Операторы увеличения и уменьшения в Python
  29. Сравнение def и lambda функций в Python
  30. Использование двоеточия в Python
  31. Метод is_absolute() для PurePath
  32. Метод __iand__ для пользовательских классов
  33. Concrete Paths — метод .with_suffix()
  34. Использование модуля __future__
  35. Concrete Paths в Python
  36. Обмен переменными в Jupyter
  37. Получение ID текущего процесса
  38. Проверка дублей в списке.
  39. Магические методы в Python
  40. Списковое включение в Python
  41. Работа с модулем random
  42. Проверка типов с помощью isinstance
  43. Измерение времени выполнения кода
  44. Оператор «not» в Python
  45. Раздувающийся словарь в Python

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