Курс Python → Генераторы в Python
Генераторы (generators) в Python представляют собой специальный тип функций, которые позволяют создавать итераторы. Они позволяют нам создавать последовательности значений, не занимая много памяти, так как значения генерируются по требованию.
Давайте рассмотрим пример генератора my_range, который создает итератор, возвращающий числа от start до stop с заданным шагом step:
def my_range(start, stop, step):
while start < stop:
yield start
start += step
В данном примере функция my_range использует ключевое слово yield для возврата значений по одному при каждом вызове функции next(). Таким образом, мы можем итерироваться по результатам генератора, не занимая лишнюю память для хранения всей последовательности чисел.
Использование генераторов особенно удобно при работе с большими объемами данных, когда создание списка значений занимает много ресурсов. Генераторы позволяют нам эффективно обрабатывать данные в потоке, по мере их генерации, что повышает производительность программы.
Другие уроки курса "Python"
- Оптимизация памяти с __slots__
- Модуль pprint
- Метод enumerate() в Python
- Перемещение и удаление файлов в Python
- Копирование словарей и списков в Python
- Проверка переменных окружения в Python
- Анализ кода — Python
- Отображение HTML кода в Python
- Фильтрация данных в Python.
- Инициализация переменных
- Запуск Python из интерпретатора
- Модуль math: константы π и e
- Списковое включение в Python
- Оператор is в Python
- Класс-оболочка для словарей
- Строки в Python: апострофы и кавычки
- Преобразование букв в нижний регистр
- Итерация по итерируемым объектам
- Инверсия списков и строк в Python
- Обучение модели с указанием эпох
- Метод округления чисел
- Работа с датами в Python
- Хранение данных с помощью dataclasses
- Преобразование данных в Python
- Получение ID текущего процесса
- Сравнение def и lambda-функций
- Реализация метода __abs__ в Python
- GitHub в Telegram: подписка на уведомления
- Преобразование символов в нижний регистр
- Метод join() для объединения элементов строки
- Виртуальные среды в Python
- Метод __call__ в Python
- Разработка игры Pong с turtle
- Оптимизация поиска в словарях
- Отправка POST-запроса в REST API
- Наиболее частотные элементы с помощью Counter
- Подчеркивание в REPL
- Очистка данных с Pandas
- Использование функции enumerate()
- Обмен данными с asyncio.Queue
- kwargs в Python
- Проблемы с именами переменных
- Замена подстроки
- Создание задания в Cron
- Инверсия списка и строки
- Метод ipow для возведения в степень















