Курс 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. Форматирование строк с % в Python
  4. Определение относительного пути
  5. Список переменных в Python
  6. Форматирование объектов с модулем pprint
  7. Оператор (*) в Python
  8. Генерация случайных данных в NumPy
  9. Декоратор Ajax required
  10. Функция zip() — объединение последовательностей
  11. Big O оптимизация
  12. Настройка шрифта и цвета в Tkinter
  13. Простой калькулятор Python
  14. Отправка поздравлений по дню рождения
  15. Получение комбинаций в Python
  16. inspect в Python: анализ кода
  17. Операторы сравнения в Python
  18. Разделение строк в Python
  19. Измерение времени выполнения кода в Python
  20. Работа с аргументами командной строки в Python
  21. Работа с изображениями PIL
  22. Работа с YAML в Python
  23. Enum в Python
  24. Создание графики с черепахой
  25. Функция reduce() из модуля functools
  26. Работа с комплексными числами
  27. Объединение словарей в Python
  28. Оператор == в Python
  29. Форматирование строк с f-строками
  30. Основные методы NumPy
  31. Множественные конструкторы в Python
  32. Назначение максимального и минимального значения переменной в Python.
  33. JSON-esque в Python
  34. Удаление дубликатов из списка с помощью dict.fromkeys
  35. Combobox в Tkinter
  36. Искажение имен в Python
  37. Изменения в обработке логических значений
  38. Глобальные переменные в Python
  39. Создание списка через итерацию
  40. Функция format() в Python
  41. Проверка дублей в списке.
  42. Разделение списка на гнппы
  43. Преобразование строки в число
  44. Расширение информации об ошибке в Python
  45. Numpy: разбиение массивов

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