Курс Python → Создание генераторов в Python

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

Для создания генератора в Python используется синтаксис генераторного выражения, который выглядит как выражение, заключенное в круглые скобки, например: (i for i in range(10000)). Это позволяет создать генератор, который будет возвращать значения от 0 до 9999 по мере обращения к нему.

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

# Пример использования генератора
gen = (i for i in range(10000))
for val in gen:
    print(val)

В данном примере создается генератор, который возвращает значения от 0 до 9999. Затем значения из генератора выводятся на экран с помощью цикла for. При этом значения не хранятся в памяти целиком, что позволяет эффективно использовать ресурсы системы.

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

Автор урока

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

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

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

  1. Модуль sys: основы
  2. Работа с типами данных в Python с помощью pydantic.
  3. Отрицательные индексы списков
  4. Работа с контекст-менеджером «with»
  5. Подсказки типов в Python
  6. Работа с аргументами командной строки
  7. Копирование словарей и списков в Python
  8. Просмотр атрибутов и методов класса
  9. Работа с датой и временем в Python
  10. Конвертация текстовых чисел с помощью Numerizer
  11. Отладка в командной строке
  12. Модуль antigravity: генерация координат
  13. Ускоренный импорт библиотек
  14. Объединение словарей в Python
  15. Очистка строки в Python
  16. Извлечение статей с newspaper3k
  17. Работа со строками в Python
  18. Структурирование данных с Pydantic
  19. Использование type hints
  20. Функция enumerate() в Python
  21. Ветвление выражения в Python
  22. JSON в Python: модуль, dump, dumps, load
  23. Список и кортеж в Python
  24. Разделение строк в Python
  25. Функция zip() в Python
  26. Глобальные переменные в Python
  27. Метод __imod__ для Python
  28. Использование super() в Python
  29. Преобразование текста в речь с Python
  30. Парсинг веб-страниц с Beautiful Soup
  31. Фильтрация последовательности
  32. Декоратор проверки активности
  33. Flask: создание веб-приложений
  34. Работа с *args и **kwargs в Python
  35. Исключение NotImplementedError
  36. Установка пакетов с помощью pip
  37. Избегайте изменяемых аргументов
  38. Добавление вложенных списков
  39. Функция findall() для поиска вхождений строки
  40. Метод get для словарей
  41. Делегирование в Python
  42. Python Enumerate
  43. Работа с модулем random
  44. Определение объема памяти объекта

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