Курс 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. Модуль subprocess: запуск внешних команд
  2. Очистка строки в Python
  3. Python: возвращение нескольких значений
  4. Удаление пробелов методом translate()
  5. Метод classmethod
  6. Работа с изменяемыми списками
  7. Многострочные строки в Python
  8. Форматирование строк в Python
  9. Работа с кортежами
  10. Работа с CSV файлами
  11. Списки в Python
  12. Статическая типизация в Python
  13. Расчет времени выполнения программы
  14. Проектирование Singleton с метаклассом
  15. Оператор «not» в Python
  16. Извлечение новостей с newspaper3k
  17. Логирование с Logzero: ротация файла
  18. Класс Counter() для подсчета элементов
  19. Очистка списка от False, None, 0, «»
  20. Python: Splat-оператор и splatty-splat
  21. Библиотека Rich: форматирование текста
  22. Методы работы со строками в Python
  23. Создание списка дат
  24. Monkey Patching в Python
  25. Оптимизация методов в Python 3.7
  26. Виртуальное окружение Python
  27. Создание виртуальной среды
  28. Таймер обратного отсчета
  29. Переопределение метода __rshift__
  30. Работа с байтовыми строками в Python
  31. Работа с срезами в Numpy
  32. Метод hash в Python
  33. Работа со словарями Python
  34. Метод join() для объединения элементов
  35. Выражения-генераторы в Python
  36. Игра Виселица на Python
  37. Управление контекстом выполнения кода
  38. Получение локальных переменных в Python
  39. Библиотека wikipedia для Python
  40. Генераторы в Python
  41. Получение имени функции с помощью inspect
  42. Подсчет элементов с помощью Counter
  43. Метод get для словарей
  44. Управление виртуальными средами в Python
  45. Оператор умножения для вектора
  46. Оператор assert в Python
  47. Множественные конструкторы в Python

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