Курс 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"
- Добавление Progressbar в Python
- Вычисление фазы комплексного числа
- Сравнение строк в Python
- Метод get для словаря
- Метод split() в Python
- Использование функции product
- Взаимодействие с внешними процессами в Python
- Генераторные функции в Python
- Управление экспортом элементов
- Numpy: разбиение массивов
- Python и Монти Пайтон
- Названия столбцов в Python таблицах
- Библиотека Emoji: использование смайлов в Python
- Применение функции к каждому элементу списка
- PUT запрос для обновления данных
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Получение комбинаций в Python
- Искажение имен в Python
- Модуль subprocess: запуск внешних команд
- Генераторы в Python
- Распаковка элементов массива
- Создание коллекций из выражения-генератора
- Оператор in и not in в Python
- Solidity для DeFi Ethereum
- Ошибка NotImplemented в Python
- Команда %dhist — список посещенных каталогов
- Установка и использование модуля Wikipedia
- Красивый вывод списка
- Оператор морж в Python 3.8
- Распаковка элементов последовательности
- Освобождение памяти в Python
- Нарезка списков в Python
- Работа с itertools
- Метод split() для разделения строк
- Реализация метода __abs__ в Python
- Функция eval() в Python
- Печать комбинаций в Python с Itertools
- Библиотека Rich: форматирование текста
- Слияние словарей в Python 3.9
- Создание словаря через dict comprehension
- Python Метод sleep() из time
- Группы исключений в Python
- Обезопасьте ввод данных
- Цикл for в Python
- Распаковка с оператором *
- Функции в одну строку















