Курс 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. Создание лямбда-функций
  2. Оператор is в Python
  3. Удаление символа из строки
  4. Декоратор Ajax required
  5. Оптимизация памяти с slots
  6. Создание списка дат
  7. Работа с функцией next() в Python
  8. Получение локальных переменных в Python
  9. Python defaultdict добавление ключа
  10. Цикл for в Python
  11. Работа с deque из collections
  12. Подчеркивание в REPL
  13. Особенности ключей словаря в Python
  14. Работа с контекстным менеджером Pool
  15. Метод __call__ в Python
  16. Декораторы с @wraps
  17. Импорт модулей в Python 3.12
  18. Python: Splat-оператор и splatty-splat
  19. Импорт объектов из модулей
  20. Создание Telegram-бота на Python
  21. Метод Self в Python
  22. Работа со списками
  23. Расчет времени выполнения
  24. Поиск email
  25. Работа с файлами в Python
  26. Beautiful Soup — извлечение данных из HTML
  27. Метод ipow для возведения в степень
  28. Вакансии в Nebius
  29. Принципы программирования
  30. Измерение времени выполнения кода в Python
  31. Модуль os в Python: работа с файлами
  32. Проекты на Python
  33. Метод rrshift для пользовательских объектов
  34. Переменные класса и экземпляра
  35. Преобразование списка в словарь через генератор
  36. Декораторы в Python
  37. Python и Юникод: работа с цифрами
  38. Математические функции в Python
  39. capitalize() — изменение регистра первого символа строки
  40. Переопределение метода divmod
  41. Python Метод sleep() из time
  42. Python Аргументы по умолчанию
  43. Фильтрация списка от «ложных» значений
  44. Сглаживание списка
  45. Python Метод sleep() времени
  46. Основные операции с Numpy
  47. Визуализация пропусков данных

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