Курс Python → Генераторы в Python

Генераторные функции (generator functions) — это мощный инструмент в Python, который позволяет создавать итераторы с помощью ключевого слова yield. Когда у вас есть необходимость обработать большой объем данных или выполнить сложные операции с элементами списка, генераторные функции становятся незаменимыми. Они позволяют удобно организовать фильтрацию и обработку элементов списка, не загружая память излишне.

Важным преимуществом использования генераторных функций является их эффективность. Поскольку генераторы работают по требованию (lazy evaluation), они не требуют хранения всех элементов списка в памяти одновременно. Вместо этого элементы обрабатываются по мере необходимости, что позволяет сэкономить ресурсы и улучшить производительность программы.

Для создания генераторной функции в Python необходимо использовать ключевое слово yield. Это ключевое слово позволяет вернуть значение из функции, приостановить ее выполнение и сохранить текущее состояние. При каждом вызове генераторной функции она продолжает выполнение с того места, где была приостановлена, что делает ее итератором.


def my_generator():
    for i in range(5):
        yield i

gen = my_generator()
for item in gen:
    print(item)

В приведенном примере мы создаем генераторную функцию my_generator(), которая возвращает числа от 0 до 4 при каждом вызове. Затем мы создаем объект-генератор и итерируемся по нему, выводя каждый элемент на экран. Таким образом, мы можем эффективно обрабатывать большие объемы данных, не загружая память и повышая производительность программы.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Метод repr() в Python
  2. Декораторы в Python
  3. Логирование с Logzero
  4. Лямбда-функции в Python
  5. Многопоточность в Python
  6. Парсинг веб-страниц с Beautiful Soup
  7. Аннотации типов в Python
  8. Взаимодействие с внешними процессами в Python
  9. Создание GUI на Tkinter
  10. Отслеживание прогресса с tqdm
  11. Работа с файлами и директориями в Python.
  12. Работа с PosixPath() в Python
  13. Заказ карты Тинькофф Black
  14. Функции all и any в Python
  15. Декораторы в Python
  16. Цикл for в Python
  17. Вакансии в Nebius
  18. Мощь вложенных функций в Python
  19. Курсы Яндекс Практикум
  20. Функция __init__ в Python
  21. Замена символов в Python
  22. Разделение строки с помощью re.split()
  23. Использование defaultdict в Python
  24. Чтение и запись TOML-конфигов
  25. Метод pop() списка
  26. Списковое включение в Python
  27. Разработка Telegram-ботов
  28. Python enumerate() функции
  29. Работа с файлами в Python
  30. Регистрация на курсы SF Education
  31. Импорт и использование модулей в Python
  32. Объединение словарей в Python
  33. Получение частей дроби
  34. Dict Comprehension в Python
  35. Удаление элементов из списка в Python
  36. Lambda-функция в Python: использование с map() и sum()
  37. Переменная Шредингера
  38. Получение имени функции с помощью inspect
  39. Подписка на @SelectelNews
  40. Оператор del в Python
  41. Генераторы в Python
  42. Пространство имен в Python
  43. Лямбда-функции для min/max
  44. Константы в модуле cmath

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