Курс 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. Присоединение элементов коллекции
  3. Форматирование строк с помощью f-строк
  4. Lambda Functions in Python
  5. Список методов и атрибутов
  6. Генераторы в Python
  7. Работа с файлами в Python
  8. Объединение словарей в Python
  9. Форматирование строк в Python
  10. Основные функции и модули Python
  11. Сортировка в Python
  12. GitHub в Telegram: подписка на уведомления
  13. Форматирование кода на Python
  14. Работа с процессами в Python
  15. Введение в Python
  16. Метод __index__ в Python
  17. Потоковый ввод в Python
  18. Python UserString — создание подклассов строк
  19. Объединение списков в Python.
  20. Функция с **kwargs в Python
  21. Вывод переменной и строки в Python
  22. Объединение итераторов
  23. Модуль antigravity: генерация координат
  24. Работа с географическими данными.
  25. Управление IP-адресами через прокси
  26. Очистка входных данных
  27. Управление экспортом элементов
  28. Списковое включение в Python
  29. Функция zip() в Python
  30. Подчеркивание в REPL
  31. Оптимизация гиперпараметров с Scikit Optimize
  32. Проверка существования переменной с оператором :=
  33. Вложенные функции в Python
  34. Удаление знаков препинания в Python
  35. Декоратор total_ordering для класса Point
  36. Логирование с Logzero
  37. Модуль itertools: эффективная работа с итераторами
  38. Форматирование строк в Python
  39. Руководство по использованию Colorama
  40. Поиск индекса элемента
  41. Измерение времени выполнения с помощью time
  42. Получение атрибутов и методов класса
  43. Множества и frozenset
  44. Профилирование кода на Python

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