Курс 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. Декораторы в Python
  3. Определение размера папок в Python
  4. Использование *args
  5. Операторы сравнения в Python
  6. Удаление эмодзи с помощью pandas
  7. Объединение кортежей в Python
  8. Методы list в Python
  9. Оптимизация памяти с __slots__
  10. Лямбда-функции в defaultdict
  11. Оператор assert в Python
  12. Документация функции help() в Python
  13. Поиск наиболее частого элемента в списке
  14. Работа со строками в Python
  15. Преобразование PowerPoint в PDF.
  16. Enum в Python
  17. Зарезервированные слова в Python
  18. Управление доступом к модулю
  19. Подробная информация о %pinfo
  20. Роль object и type в Python
  21. Классы данных в Python
  22. Срез списка в Python
  23. Потоковый ввод в Python
  24. ChainMap.new_child() — добавление нового словаря
  25. Разделение строки с регулярными выражениями
  26. Метод join() для объединения строк
  27. Генерация UUID в Python
  28. Освобождение памяти в Python
  29. Извлечение чисел из текста
  30. Разделение строки с помощью re.split()
  31. Обработка исключений в Python
  32. Переопределение метода
  33. Magic Commands — улучшение работы с Python
  34. Метод get() для словарей
  35. Пересечение списков с использованием множеств
  36. Сравнение def и lambda-функций
  37. Бинарный поиск
  38. Работа со словарями в Python
  39. Работа с JSON данными в Python
  40. Библиотека sh: удобные команды терминала
  41. split() без разделителя
  42. Преобразование строки в число
  43. Lambda-функция в Python: использование с map() и sum()
  44. Руководство по использованию Colorama

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