Курс 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. Работа с Event() в threading
  2. Разработка игры Pong с turtle
  3. Отладка в командной строке
  4. Методы сравнения множеств
  5. Установка и использование Telegram API в Python
  6. Удаление символа из строки
  7. Строки в Python: апострофы и кавычки
  8. Подсчет элементов с помощью Counter из collections
  9. Профилирование с Pandas
  10. Автоматизация скриптов на AWS Lightsail.
  11. Аргументы *args и **kwargs
  12. Упрощенный вывод данных в Python
  13. Имена объектов в Python
  14. Форматирование строк в Python
  15. Объединение списков в Python
  16. Импорт и использование модулей в Python
  17. Работа с дробями в Python
  18. Работа с коллекциями Python
  19. Генераторы в Python
  20. Управление мышью и клавиатурой с Pyautogui
  21. Работа с deque из collections
  22. Counter() — подсчет элементов
  23. Метод clear для коллекций
  24. Глобальные переменные в Python
  25. Основы работы со списками
  26. Поток данных в Python
  27. Python и Монти Пайтон
  28. Обновление шаблона base.html
  29. Функция enumerate() в Python
  30. Управление ресурсами в Python
  31. Особенности ключей словаря в Python
  32. Избегайте использования goto
  33. Функции all и any в Python
  34. Генераторы в Python
  35. Объединение коллекций в Python
  36. Метод ipow для возведения в степень
  37. Метод __imod__ для Python
  38. Генераторы списков в Python
  39. Срезы в Python
  40. Метод difference_update() — разность множеств
  41. Работа с комплексными числами в Python
  42. Поиск индексов подстроки
  43. Оптимизация создания строк
  44. Форматирование вывода списков
  45. Метод getitem для доступа к элементам последовательности
  46. Замена текста с помощью sub

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