Курс 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 groupby() из itertools: работа с повторяющимися элементами
- Получение частей дроби
- Добавление элемента к кортежу
- Работа с Event() в threading
- JSON в Python: модуль, dump, dumps, load
- PrettyTable: создание таблицы
- Открытие, чтение и закрытие файла
- Python defaultdict добавление ключа
- Модуль Antigravity в Python 3
- Оператор del в Python
- Избегание изменяемых аргументов
- Оператор break в Python
- Поиск повторов в списке
- Метод сравнения объектов в Python
- Уникальность ключей в словаре
- Создание функций высшего порядка
- Запрос пароля с помощью getpass
- Структура данных deque в Python
- Избегание циклических зависимостей классов в Python
- Чтение бинарного файла в Python.
- Распаковка элементов массива
- Многострочные строки в Python
- Асинхронное программирование с asyncio
- Необязательные аргументы в Python
- Вычисление логарифмов в Python
- Работа с YAML в Python: PyYAML.
- UserList в Python: Описание и примеры использования
- Python reversed() vs срез[::-1]
- Работа с изображениями PIL
- Поиск всех индексов подстроки
- Работа с OpenCV
- Метод __call__ в Python
- Получение идентификатора объекта в памяти
- Обработка исключений в Python
- Удаление элементов из списка в Python
- Константы в модуле cmath
- Наиболее частотные элементы с помощью Counter
- Преобразование данных в Python
- Работа с географическими данными.
- Именованные срезы в Python
- Поиск кода
- Операторы увеличения и уменьшения в Python
- Метод title() в Python
- Получение срезов итераторов
- Функция map() и ленивая оценка















