Курс 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. Вывод с переменной через запятую
  2. Метод split() в Python
  3. Форматирование строк в Python
  4. Установка Git и AWS CLI
  5. Создание матрицы в Python
  6. Создание лямбда-функций
  7. Основные функции и модули Python
  8. Извлечение аудио из видео
  9. Метод bool() в Python
  10. Модуль os в Python: работа с файлами
  11. Метод __iand__ для пользовательских классов
  12. Частичное совпадение пользовательского ввода в Python 3.10
  13. Управление экспортом элементов
  14. Метод gt в Python
  15. Работа с индексами списков
  16. Логический оператор «and» в Python
  17. Генерация UUID в Python
  18. Применение промокода в Много лосося
  19. Операции с массивами в NumPy
  20. Генераторы данных
  21. Функция reduce() в Python
  22. Тестирование функции сложения
  23. Многострочные комментарии в Python
  24. Генераторы в Python
  25. Взаимодействие с внешними процессами в Python
  26. Разработка игры Pong с turtle
  27. Функциональное программирование.
  28. Сортировка данных с лямбда-функциями
  29. Counter() — подсчет элементов
  30. Лямбда-функции в defaultdict
  31. Python itertools combinations() — группировка элементов
  32. Объединение объектов в Python
  33. Декораторы в Python
  34. Методы Python для работы с данными
  35. Тестирование модели в PyTorch
  36. Работа со слайсами
  37. Множественное наследование в Python
  38. List Comprehension Tutorial
  39. Разница между датами
  40. Гибкие функции Python
  41. Выборка чисел
  42. Модуль xkcd: загрузка комиксов
  43. Именованные срезы в Python
  44. Декораторы с @wraps
  45. inspect в Python: анализ кода
  46. Фильтрация списков с itertools

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