Курс 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: Splat-оператор и splatty-splat
  2. Объединение множеств в Python
  3. Работа с deque из collections
  4. Обработка исключений в Python
  5. Вакансии в Nebius
  6. Многострочные комментарии в Python
  7. Капитализация строк
  8. Декораторы в Python
  9. Работа с набором данных CIFAR10 в PyTorch
  10. Хэш-функции и метод цепочек
  11. Игра «Угадывание чисел»
  12. Тип данных TypeVarTuple
  13. Нахождение разницы между списками в Python
  14. Обмен значений переменных в Python
  15. Работа с кортежами в Python
  16. Библиотека sh: удобные команды терминала
  17. Список переменных с %who
  18. Модуль array: создание и использование массивов
  19. Метод join() для объединения элементов
  20. Операторы увеличения и уменьшения переменной
  21. Декораторы в Python
  22. UserString в Python
  23. Обработка элементов в Python
  24. Проверка на истинность объектов в Python
  25. Извлечение новостей с помощью newspaper3k
  26. Подписка на SelectelNews в Twitter
  27. capitalize() — изменение регистра первого символа строки
  28. Метод get для словарей
  29. Работа со стеком в Python
  30. Подсчет элементов с помощью Counter
  31. Функция count() в Python
  32. Создание класса в Python
  33. Преобразование числа в список цифр
  34. Преобразование вложенного списка
  35. Транспонирование 2D-массива с помощью zip
  36. Работа с модулем glob в Python
  37. Оценка точности модели
  38. Работа с датой и временем в Python
  39. Использование функции enumerate()
  40. Проверка элементов списка условием
  41. Удаление ключей из словаря
  42. Преобразование строки в число
  43. Python enumerate() функции
  44. Импорт модуля из другого каталога
  45. Декодирование строк в Python

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