Курс 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. Метод сравнения объектов в Python
  2. Загрузка постов Instagram
  3. Импорт в Python: список all
  4. Протокол управления контекстом
  5. Преобразование регистра символов
  6. Распаковка элементов массива
  7. Секреты Python
  8. Метод сравнения объектов в Python
  9. Вызов внешних программ в Python с помощью sh
  10. Отладка кода
  11. Работа со строками в Python
  12. Замена символов в строке
  13. Декораторы в Python
  14. Функция map() в Python
  15. Разделение строк методом split()
  16. Удаление ресурса в Python
  17. Многострочные комментарии в Python
  18. discard() — удаление элемента из множества
  19. Удаление элемента по индексу
  20. ROT13 Шифр Цезаря в Python
  21. Реализация метода __abs__ в Python
  22. Освобождение памяти в Python
  23. Применение функции к списку
  24. Поиск наиболее частого элемента в списке
  25. Установка и использование Telegram API в Python
  26. Копирование объектов в Python
  27. Добавление элементов в список
  28. Создание Radio кнопок в tkinter
  29. Декораторы в Python
  30. Метод repr() в Python
  31. Изменения в обработке логических значений
  32. Структуры данных в Python
  33. Метод __ilshift__ для битового сдвига влево
  34. Навыки Python: строки, типы данных
  35. Передача аргументов через **arguments
  36. Инициализация структур данных
  37. Потоковый ввод в Python
  38. Метод join() для объединения элементов в строку.
  39. Регистрация на хакатоне
  40. Модуль functools в Python
  41. Метод init в Python
  42. Создание namedtuple из словаря
  43. Создание словаря через dict comprehension
  44. Работа с многоуровневыми словарями в Python
  45. Установка и использование Logzero
  46. Оптимизация памяти с slots

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