Курс 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. Ошибка NotImplemented в Python
  2. Функции all и any в Python
  3. Тестирование времени с Freezegun
  4. Расчет времени выполнения
  5. Избегайте пустого списка
  6. Объединение словарей в Python
  7. Слияние словарей в Python 3.9
  8. Обработка ошибок в Python
  9. Разделение строки на пары ключ-значение.
  10. Метод matmul для умножения матриц
  11. Декораторы в Python
  12. Получение текущей даты в Python
  13. Работа с набором данных CIFAR10 в PyTorch
  14. Выражения-генераторы в Python
  15. Протокол управления контекстом
  16. Операции со строками в Python
  17. Работа с временем в Python
  18. Сортировка в Python
  19. Установка переменной среды в Python
  20. Работа с путями в Python
  21. Замена текста с re.sub()
  22. Глобальные переменные в Python
  23. Вложенные генераторы в Python
  24. Удаление файлов в Python
  25. Работа со строками в Python
  26. Python Метод sleep() из time
  27. Измерение времени выполнения кода
  28. Работа с collections в Python
  29. Сокращение ссылок с pyshorteners
  30. Работа с датами в Python
  31. Управление сессиями в Python
  32. Перемещение и удаление файлов в Python
  33. Оператор in для Python
  34. Оптимизация интернирования строк
  35. enumerate() в Python для работы с индексами
  36. Создание уникального проекта
  37. Фильтрация последовательности
  38. Избегайте изменяемых аргументов
  39. Проверка окончания строки с помощью str.endswith()
  40. Операторы увеличения и уменьшения в Python
  41. Регистрация на TenChat
  42. Возврат нескольких значений
  43. Concrete Paths в Python
  44. Объединение, распаковка и деструктуризация
  45. Модуль antigravity: генерация координат

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