Курс 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. Получение частей дроби
  3. Принципы Zen of Python
  4. Пустой оператор pass в Python
  5. Освобождение памяти в Python
  6. Эффективная конкатенация строк с использованием join()
  7. Многоточие в Python
  8. Метод getitem для доступа к элементам последовательности
  9. Функция __init__ в Python
  10. discard() — удаление элемента из множества
  11. Оболочка Python
  12. Проверка однородности элементов списка
  13. Проверка версии Python
  14. Форматирование данных с помощью pprint
  15. Инициализация объекта
  16. Ошибка NotImplemented в Python
  17. Склеивание строк без циклов
  18. Генерация случайных чисел Python
  19. Измерение времени выполнения с помощью time
  20. Тип CodeType в Python.
  21. Работа с Event() в threading
  22. Импорт классов из другого файла
  23. Стать Python-разработчиком
  24. Работа с enumerate()
  25. Отладка производительности Python
  26. Парсинг статей с Newspaper3k
  27. Операции с матрицами в Python
  28. Проблема с изменяемыми аргументами
  29. Вычисление натуральных логарифмов в NumPy
  30. Многострочные комментарии в Python
  31. Модуль functools в Python
  32. Особенности запятых в Python
  33. Срезы в Numpy
  34. Создание виртуальной среды
  35. Работа с комплексными числами
  36. Область видимости переменных в Python
  37. Определение имен функций
  38. Поиск частого элемента
  39. Метод ifloordiv для пользовательских классов
  40. *args и **kwargs в Python
  41. Кортеж в Python: создание и использование
  42. Открытие и редактирование скриптов Python
  43. Транспонирование 2D-массива с помощью zip
  44. Оператор is в Python
  45. Метод join() для объединения элементов строки

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