Курс 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"
- Оператор del в Python
- Использование type hints
- Функция count() в Python
- Расширение операции побитового «и» в Python
- Работа со строками в Python
- Проверка памяти объекта
- Работа с CSV файлами
- Работа с JSON данными в Python
- Определение относительного пути
- Работа с zip-архивами в Python
- Подробная информация о %pinfo
- Управление фоновыми задачами в Python
- Запуск Python из интерпретатора
- Функции в Python: создание и вызов
- Передача параметров в Python
- Отладка утечек памяти в Python
- Python Тесты и Гайды
- Использование двоеточия в Python
- Проекты на Python
- Оператор деления для класса Rational
- Приближение чисел в Python
- Модуль pprint: улучшение вывода данных
- Применение функции к элементам списка
- Вычисление разности множеств в Python
- Создание .exe файла с pyinstaller
- Управление ресурсами с контекстными менеджерами
- Округление банкира в Python
- Обход элементов в Python
- Работа с изменяемыми списками
- Сортировка и обратный порядок
- Monkey Patching в Python
- Переопределение метода __pow__
- Конкатенация списков в Python
- Сериализация объектов в Python
- Конвертация коллекций в Python.
- Использование функции enumerate()
- Переворот строки с помощью срезов
- Разделение строки с помощью re.split()
- 9 уловок для чистого кода
- Сортировка в Python
- Возвращение нескольких значений
- Декораторы в Python
- Поиск элементов BeautifulSoup
- Логирование с Logzero
- Поиск уникальных элементов строкой в Python
- Работа с *args и **kwargs в Python
- Основы работы со строками в Python















