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

Генераторные функции — это мощный инструмент в Python, который позволяет создавать итераторы с минимальным использованием памяти. Вместо того чтобы создавать список или кортеж сразу со всеми значениями, генераторная функция генерирует значения по мере необходимости. Это особенно полезно, когда у вас есть большой объем данных, которые необходимо обработать поэлементно.

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


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

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

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

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

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

Автор урока

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

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

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

  1. Управление виртуальными окружениями в Python
  2. Моржовый оператор в Python 3.8
  3. Antigravity модуль
  4. Транспонирование 2D-массива с помощью zip
  5. Генераторы в Python
  6. Списковое включение в Python
  7. *args и **kwargs в Python
  8. Работа с файлами в Python
  9. Генерация фальшивых данных с Faker
  10. Метод __iand__ для пользовательских классов
  11. Курсы Яндекс Практикум
  12. Проверка надежности пароля на Python
  13. Оператор del в Python
  14. Декораторы для регистрации функций
  15. Метод invert для побитового отрицания
  16. Метод classmethod
  17. Пересечение списков с использованием множеств
  18. Сохранение и загрузка модели в PyTorch
  19. Переопределение метода xor в Python
  20. Обратный список чисел
  21. Генераторы данных
  22. Работа со строками в Python.
  23. Установка переменной среды в Python
  24. Фильтрация последовательности
  25. Инверсия списка и строки в Python
  26. Обновление множества в Python
  27. Форматирование вывода с F-строками
  28. Объединение словарей в Python
  29. Python Метод sleep() из time
  30. Добавление элементов в список: append() vs extend()
  31. Модуль subprocess: запуск внешних команд
  32. Раздувающийся словарь в Python
  33. Блок try-except-else
  34. Структурирование данных с Pydantic
  35. f-строки в формате строк
  36. Настройка Cron
  37. Получение размера объекта с sys.getsizeof()
  38. Копирование объектов в Python
  39. Управление User-Agent в Python
  40. Использование функции enumerate()
  41. Показ всплывающих окон Tkinter
  42. Управление браузером с Selenium
  43. Виртуальные среды в Python
  44. Настройка логгера Logzero
  45. Именование переменных в Python
  46. Объединение коллекций в Python
  47. Новшества Flask 2.0

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