Курс 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
- Обрезка изображения с Pillow
- Инверсия списка и строки
- Руководство по библиотеке pydantic
- Методы split() и join() — Python строк.
- Определение относительного пути
- Просмотр внешних файлов в %pycat
- Копирование словарей и списков в Python
- Цикл for в Python
- Удаление файлов в Python
- Хеши в Python
- Метод clear для коллекций
- Эффективная конкатенация строк с использованием join()
- Функции map, filter, reduce
- Обработка данных в Python
- Настройка нарезки списков
- Работа с deque из collections
- Модуль inspect: получение информации о объектах
- Переменная Шредингера
- Цикл for в Python
- Отображение графиков в Jupyter с Matplotlib
- Освоение Python
- Переопределение унарных операторов
- Функция product() из itertools
- Асинхронный код в Python
- Регистрация на TenChat
- Генераторы в Python
- Создание словаря и множества
- Метод join() для объединения строк
- Аргумент по умолчанию
- Комментарии в Python
- Функция zip() в Python
- Глобальные переменные в Python
- Структуры данных в Python
- Работа с изменяемыми списками
- Лямбда-функции в цикле
- Структура строк в Python
- Работа с буфером обмена на Python
- Зарезервированные слова в Python
- Модуль Antigravity в Python 3
- Преобразование регистра символов
- Область видимости переменных
- Разделение строки с регулярными выражениями
- Распаковка элементов массива















