Курс 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"
- 9 уловок для чистого кода
- Форматирование кода на Python
- Просмотр внешних файлов в %pycat
- Метод __ilshift__ для битового сдвига влево
- Конвертация текстовых чисел с помощью Numerizer
- Генераторы в Python
- Лямбда-функции в Python
- Выражения-генераторы в Python
- Генератор чисел Фибоначчи
- Обновление шаблона base.html
- Python: отличительная особенность — отступы
- Асинхронное программирование с asyncio
- Преобразование символов с помощью map
- Основные операции с Numpy
- Методы shutil для работы с файлами
- Копирование объектов в Python
- Дизассемблирование Python кода
- Оператор морж в Python 3.8
- Python Метод sleep() из time
- Объединение списков в Python.
- Определение объема памяти объекта
- Сравнение строк в Python
- Форматирование вывода списков
- Блок else в циклах.
- Python enumerate() для работы с индексами
- Ускорение обработки данных с %autoawait
- Карта бомбоубежищ в Москве и Питере
- capitalize() — изменение регистра первого символа строки
- Сравнение объектов в Python
- Применение функции к списку
- Повторение элементов в Python
- Динамическая типизация в Python
- Эффективная конкатенация строк с использованием join()
- Установка и использование модуля «howdoi»
- Измерение потребления памяти при сортировке
- Оператор in для Python
- Создание графиков в терминале
- Управление фоновыми задачами в Python
- Применение функции к элементам списка
- Сортировка слиянием
- Преобразование чисел в Python
- Создание и операции с дробями
- Работа со словарями
- Работа со строками в Python
- Генераторные функции в Python
- Форматирование строк в Python
- Генераторы в Python
- Модуль math: константы π и e















