Курс 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. Синтаксис переменных цикла в Python
  5. Работа с кортежами
  6. Присоединение элементов коллекции
  7. Методы в Python
  8. Аннотации типов в Python
  9. Оператор += для объединения строк
  10. Возврат нескольких значений
  11. Работа с индексами списков
  12. Решатель судоку на Python с pygame
  13. Установка и использование pyshorteners
  14. Работа со строками в Python
  15. Порядок и длина множеств в Python
  16. Использование defaultdict в Python
  17. Импорт модуля из другого каталога
  18. Конкатенация строковых литералов
  19. Метод __call__ в Python
  20. Переопределение метода divmod
  21. Генерация UUID в Python
  22. Управление асинхронными задачами с помощью Semaphore
  23. Создание объекта timedelta
  24. Взаимодействие с внешними процессами в Python
  25. Работа с часовыми поясами в Python
  26. Блок else в Python
  27. Обработка исключений
  28. Расчет времени выполнения кода
  29. Лямбда-функции в Python
  30. Функция zip() в Python
  31. Поиск с библиотекой Google
  32. Python OrderedDict и fromkeys() — работа с словарями
  33. Разделение строки с регулярными выражениями
  34. Создание словарей с defaultdict
  35. Оптимизация памяти с помощью __slots__
  36. Приоритет операций в Python
  37. Преобразование вложенного списка
  38. Генераторы и сеты в Python
  39. Оператор «моржа» (Walrus Operator)
  40. Умножение строк и списков
  41. Работа с модулем Calendar
  42. Документация функции help() в Python
  43. Генерация чисел с range()
  44. Работа с CSV файлами
  45. Использование super() в Python
  46. Итерация по копии коллекции
  47. Перевод текста с Python Translator
  48. Оператор == в Python
  49. Считывание бинарного файла в Python

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