Курс 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. Enum в Python
  2. Глобальные переменные в Python
  3. Печать в одной строке
  4. Метод get() в Python
  5. Преобразование данных в Python
  6. Генераторы в Python
  7. Работа со случайными элементами
  8. Преобразование списка в словарь через генератор
  9. Операторы += в Python
  10. Избегайте ошибку FileNotFoundError
  11. Функция с **kwargs в Python
  12. Вложенные генераторы в Python
  13. Flask — веб-фреймворк Python
  14. Работа с очередями в Python
  15. Работа с NumPy.linalg
  16. Оператор match в Python
  17. Использование *args
  18. Получение текущей даты и времени с помощью datetime
  19. Библиотека schedule: планировщик задач
  20. Функция print() — вывод информации
  21. Область видимости переменных
  22. Документация функции help() в Python
  23. Функции map() и reduce() в Python
  24. Отрицательные индексы списков
  25. Декораторы в Python
  26. Настройка логгера Logzero
  27. Создание и удаление объектов
  28. Получение текущей директории
  29. Блок try…finally в Python
  30. Атрибуты класса и экземпляра в Python
  31. Избегание изменяемых аргументов
  32. Логирование в Python
  33. Измерение времени выполнения кода
  34. Переворот строки
  35. Проверка индексов коллекции
  36. Нахождение самого длинного слова в списке с помощью max
  37. Метод join для объединения строк
  38. Операции с матрицами в Python
  39. Поиск простых чисел
  40. Генерация ключей RSA
  41. Решение переменной Шредингера
  42. Создание словарей с defaultdict()
  43. Зарезервированные слова в Python
  44. Метод __ixor__ для побитового исключающего ИЛИ
  45. Создание и операции с дробями
  46. Считывание бинарного файла в Python
  47. Определение имен функций
  48. Обновление множества в Python

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