Курс 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. Big O оптимизация
  2. Разделение строки в Python
  3. Метод __call__ в Python
  4. Распаковка аргументов в Python
  5. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  6. Python Calendar Usage
  7. Оператор Walrus в Python 3.8
  8. Экспорт данных в файл.
  9. Использование подчеркивания в REPL
  10. Проверка элемента в множестве.
  11. Разделение строки с помощью re.split()
  12. Progress с библиотекой tqdm
  13. Копирование объектов в Python
  14. Лямбда-функции в Python
  15. Функция map() в Python
  16. Работа с множествами в Python
  17. Разделение строки с помощью split()
  18. Многопоточность и асинхронное программирование в Python
  19. Оператор in и not in в Python
  20. GitHub в Telegram: подписка на уведомления
  21. Идентификатор объекта в Python
  22. Преобразование данных в Python
  23. Группы исключений в Python
  24. Возврат нескольких значений
  25. Функции range() в Python
  26. Разработка Telegram-ботов
  27. Создание OrderedDict
  28. Объединение словарей в Python
  29. Генераторные функции в Python
  30. Antigravity модуль
  31. Поиск наиболее частого элемента списке
  32. Представление бесконечности в Python
  33. Раздувающийся словарь в Python
  34. Циклы в Python
  35. Создание GUI с Tkinter: Entry
  36. %pinfo: получение информации об объекте
  37. Перевод эмодзи и эмотиконов.
  38. Замер времени выполнения кода
  39. Оптимизация сравнения в Python
  40. Проверка версии Python
  41. Избегайте использования goto
  42. Обрезка изображения с Pillow
  43. Курс по дообучению ChatGPT
  44. Названия столбцов в Python таблицах
  45. Генерация чисел с range()
  46. Преобразование регистра символов
  47. Создание копии списка в Python

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