Курс 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. Передача аргументов через **arguments
  3. Множественное присваивание в Python
  4. Установка Python — Простое руководство
  5. Получение текущей даты в Python
  6. Проверка подстроки в строке с помощью in
  7. Обработка исключений в Python
  8. Использование функции enumerate()
  9. Метод __imod__ для Python
  10. Оператор (*) в Python
  11. Преобразование Word в PDF с Spire.Doc
  12. Функция map() в Python
  13. Блок else в Python
  14. Переменная Шредингера
  15. Иерархия классов в Python
  16. Получение ID текущего процесса
  17. Рациональные числа в Python
  18. Объединение списков в строку
  19. Область видимости переменных
  20. Структура данных deque в Python
  21. Работа с PosixPath() в Python
  22. Работа с контекстными менеджерами
  23. Работа с комплексными числами
  24. Установка и использование emoji
  25. Работа с необработанными строками
  26. Возврат нескольких значений
  27. Введение в Python
  28. Анализ текста на русском языке с помощью Pymystem3
  29. Подписка на SelectelNews в Twitter
  30. Метод radd для пользовательских чисел
  31. Извлечение чисел из текста
  32. Python defaultdict добавление ключа
  33. Проверка элементов списка условием
  34. Оператор in для Python
  35. Удаление символа из строки
  36. Очистка данных в Python
  37. Сравнение строк в Python
  38. Конвертация коллекций в Python
  39. Оператор in для проверки наличия элемента
  40. Объявление переменных в Python
  41. Создание лямбда-функций
  42. TypedDict для kwargs в Python 3.12
  43. Ускорение кода с помощью векторизации
  44. Цикл for в Python
  45. Вычисление натурального логарифма в NumPy
  46. Просмотр атрибутов и методов класса
  47. Работа с NumPy массивами

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