Курс 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"
- Модуль sys: основы
- Работа с типами данных в Python с помощью pydantic.
- Отрицательные индексы списков
- Работа с контекст-менеджером «with»
- Подсказки типов в Python
- Работа с аргументами командной строки
- Копирование словарей и списков в Python
- Просмотр атрибутов и методов класса
- Работа с датой и временем в Python
- Конвертация текстовых чисел с помощью Numerizer
- Отладка в командной строке
- Модуль antigravity: генерация координат
- Ускоренный импорт библиотек
- Объединение словарей в Python
- Очистка строки в Python
- Извлечение статей с newspaper3k
- Работа со строками в Python
- Структурирование данных с Pydantic
- Использование type hints
- Функция enumerate() в Python
- Ветвление выражения в Python
- JSON в Python: модуль, dump, dumps, load
- Список и кортеж в Python
- Разделение строк в Python
- Функция zip() в Python
- Глобальные переменные в Python
- Метод __imod__ для Python
- Использование super() в Python
- Преобразование текста в речь с Python
- Парсинг веб-страниц с Beautiful Soup
- Фильтрация последовательности
- Декоратор проверки активности
- Flask: создание веб-приложений
- Работа с *args и **kwargs в Python
- Исключение NotImplementedError
- Установка пакетов с помощью pip
- Избегайте изменяемых аргументов
- Добавление вложенных списков
- Функция findall() для поиска вхождений строки
- Метод get для словарей
- Делегирование в Python
- Python Enumerate
- Работа с модулем random
- Определение объема памяти объекта















