Курс 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. Ключевое слово global в Python
  2. Открытие, чтение и закрытие файла
  3. Склеивание строк через метод join()
  4. Метод difference_update() — разность множеств
  5. Работа с срезами в Python
  6. Операция += для списков
  7. Метод join() для объединения элементов строки
  8. Создание GUI на Tkinter
  9. Обработка исключения UnboundLocalError
  10. Bootle — простой веб-фреймворк
  11. Установка и обучение ChatterBot
  12. Многоточие в Python
  13. Разность множеств
  14. Разбиение текста в Python
  15. Изменение списка срезом
  16. Многопоточность в Python
  17. Фильтрация данных в Python.
  18. Создание и использование модулей в Python
  19. Создание Telegram-бота на Python
  20. Метод count в Python: почему count(», ») возвращает 4?
  21. Группы исключений в Python
  22. Оператор умножения для вектора
  23. Объединение списков в строку
  24. Группировка элементов в словарь
  25. Игра «Виселица» на Python
  26. Управление асинхронными задачами на Python.
  27. Циклы в Python
  28. Метод ifloordiv для пользовательских классов
  29. Протокол управления контекстом
  30. Создание новых списков
  31. Логирование в Python
  32. Обмен значений переменных в Python
  33. Хранение данных с помощью dataclasses
  34. Создание Radio кнопок в tkinter
  35. Деление в Python
  36. Присоединение элементов коллекции
  37. Создание уникального множества
  38. Python Ellipsis использование
  39. Работа с Telegram API на Python
  40. Методы shutil для работы с файлами
  41. ROT13 Шифр Цезаря в Python
  42. Обработка исключений в Python
  43. Удаление URL-адресов в Python
  44. Создание пустых функций и классов в Python
  45. Python defaultdict добавление ключа
  46. PATCH-запрос с библиотекой requests

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