Курс 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. Ключевое слово global в Python
  3. Генераторы в Python
  4. Обработка аргументов Python
  5. Подсчет элементов в Python
  6. Импорт в Python: список all
  7. Реверс строки в Python
  8. Пропуск начальных строк с помощью dropwhile()
  9. Метод rpow в Python
  10. Работа с прокси в Python
  11. Операторы увеличения и уменьшения в Python
  12. Копирование объектов в Python
  13. Распаковка элементов последовательности
  14. Оператор морж в Python 3.8
  15. Строковое представление объектов
  16. Python: изменяемые и неизменяемые коллекции
  17. Создание лямбда-функций
  18. Именование столбцов в Python с pandas
  19. Список переменных с %who
  20. Распаковка с оператором *
  21. Обработка исключений в Python
  22. Метод сравнения объектов в Python
  23. Удаление файлов в Python
  24. Расчет времени выполнения кода
  25. Возвращение нескольких значений
  26. Получение текущей директории
  27. Управление фоновыми задачами в Python
  28. Многострочные строки в Python
  29. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  30. Комментарии в Python
  31. Инверсия списка/строки в Python
  32. Лямбда-функции в Python
  33. Работа с базами данных SQLite
  34. Бесконечная проверка в Python
  35. Функция map() в Python
  36. Закрытие файла в Python
  37. Поиск с библиотекой Google
  38. Управление асинхронными задачами на Python.
  39. F-строки в Python 3.8
  40. Динамическая типизация в Python
  41. Метод title() в Python
  42. Оптимизация памяти в Python
  43. Кортеж в Python: создание и использование
  44. Слияние словарей в Python 3.9
  45. Преобразование объекта в строку
  46. Функция product() из itertools
  47. Логирование в Python

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