Курс 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"
- Создание лямбда-функций
- Оператор is в Python
- Удаление символа из строки
- Декоратор Ajax required
- Оптимизация памяти с slots
- Создание списка дат
- Работа с функцией next() в Python
- Получение локальных переменных в Python
- Python defaultdict добавление ключа
- Цикл for в Python
- Работа с deque из collections
- Подчеркивание в REPL
- Особенности ключей словаря в Python
- Работа с контекстным менеджером Pool
- Метод __call__ в Python
- Декораторы с @wraps
- Импорт модулей в Python 3.12
- Python: Splat-оператор и splatty-splat
- Импорт объектов из модулей
- Создание Telegram-бота на Python
- Метод Self в Python
- Работа со списками
- Расчет времени выполнения
- Поиск email
- Работа с файлами в Python
- Beautiful Soup — извлечение данных из HTML
- Метод ipow для возведения в степень
- Вакансии в Nebius
- Принципы программирования
- Измерение времени выполнения кода в Python
- Модуль os в Python: работа с файлами
- Проекты на Python
- Метод rrshift для пользовательских объектов
- Переменные класса и экземпляра
- Преобразование списка в словарь через генератор
- Декораторы в Python
- Python и Юникод: работа с цифрами
- Математические функции в Python
- capitalize() — изменение регистра первого символа строки
- Переопределение метода divmod
- Python Метод sleep() из time
- Python Аргументы по умолчанию
- Фильтрация списка от «ложных» значений
- Сглаживание списка
- Python Метод sleep() времени
- Основные операции с Numpy
- Визуализация пропусков данных















