Курс 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"
- Тест скорости набора текста на Python
- Работа с массивами в Python
- Управление виртуальными окружениями в Python
- Функции map, filter, reduce
- Проверка ввода с помощью isdigit
- Удаление ключей из словаря
- Подсчет частотности элементов в Python
- Копирование файлов с shutil()
- Форматирование кода на Python
- Запуск асинхронной корутины
- Логирование с Loguru
- Блок else в циклах.
- Значения по умолчанию в Python
- Работа с модулем cmath
- Инициализация переменных
- Импорт в Python: список all
- Парсинг статей с Newspaper3k
- Цикл for с enumerate() в Python
- Импорт с альтернативным именем
- Округление в Python
- Атрибуты класса и экземпляра
- Python Метод Union Множеств
- Функция reduce() в Python
- Цикл for в Python
- Логирование в Python
- Настройка вывода NumPy
- Частичное совпадение ввода
- Проверка версии Python
- Класс UserDict: дополнительная функциональность
- Работа с комплексными числами
- Оптимизация памяти с slots
- Генерация ключей RSA
- Фильтрация последовательности
- Оформление кода по PEP 8
- Добавление Progressbar в Python
- Множественное назначение в Python
- Создание таблиц в Python с PrettyTable
- Генераторы в Python
- Использование эмодзи в Python
- ROT13 Шифр Цезаря в Python
- Возврат нескольких значений
- Получение обратного списка чисел
- Настройка нарезки списков
- Удаление первого элемента списка
- Чтение и запись TOML-конфигов
- Потоковый ввод в Python
- Декораторы для регистрации функций















