Курс 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. Enum в Python
  3. Математические функции в Python
  4. Особенности множеств в Python
  5. Работа с байтовыми строками в Python
  6. Модуль inspect: получение информации о объектах
  7. Оптимизация поиска в словарях
  8. Форматирование строк в Python
  9. SciPy: широкий функционал для математических операций
  10. Нахождение максимального значения и его индекса в списке
  11. Работа с геоданными с помощью geopy
  12. Вывод сложных структур данных с помощью pprint
  13. Декораторы в Python
  14. Объединение итераторов
  15. Работа с базами данных SQLite
  16. Функция count() в Python
  17. Python Аргументы по умолчанию
  18. Оператор break в Python
  19. Обновление ключей в Python
  20. Получение текущей даты и времени с помощью datetime
  21. Атрибуты массивов в Numpy
  22. Срез в Python
  23. Управление памятью в Python
  24. Особенности запятых в Python
  25. Работа с комбинациями в Python.
  26. Передача аргументов через **arguments
  27. Замена текста с re.sub()
  28. Метод rmatmul для пользовательских матриц
  29. Создание инструмента обнаружения плагиата
  30. Динамические маршруты во Flask
  31. Управление ресурсами в Python
  32. Хеширование паролей с солью
  33. Модуль future Python
  34. Конкатенация списков в Python
  35. Преобразование Word в PDF с Spire.Doc
  36. Применение функции map() с лямбда-функциями
  37. Профилирование с cProfile
  38. Создание графиков в терминале
  39. Функции range() в Python
  40. Инверсия списка/строки в Python
  41. Функции классификации комплексных чисел
  42. Ограничение ресурсов в Python
  43. Обмен переменными в Jupyter
  44. Метод __ilshift__ для битового сдвига влево
  45. Описание скриптов в README
  46. Оптимизация памяти с помощью __slots__
  47. Введение в PyTorch

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