Курс 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
- Оператор in для проверки наличия элемента
- Библиотека itertools: объединение списков
- Обработка исключений в Python
- Глобальные переменные в Python
- Подсчет часто встречающихся элементов
- Создание виртуальной среды
- Изменение элемента списка
- Создание графики с черепахой
- Создание словарей и множеств в Python.
- Срез в Python
- Работа с очередями в Python
- Утечки переменных цикла в Python 3.x
- Анонимные функции Lambda
- Проверка окончания строки с помощью str.endswith()
- Возврат нескольких значений
- Методы работы со строками в Python
- Преобразование текста в речь с Python
- Возведение в квадрат с помощью itertools
- Генераторы и сеты в Python
- Python: цикл for и оператор присваивания
- Операции с кортежами
- Цикл for в Python
- Оболочка Python
- Создание словаря через dict comprehension
- Метаклассы в Python
- Преобразование строк в числа с плавающей запятой
- Python reversed() функция
- Библиотека sh: использование команд bash в Python
- Цикл while в Python
- Очистка входных данных
- Работа с словарями в Python
- Логирование в Python
- Обход элементов в Python
- Декоратор Ajax required
- Оптимизация интернирования строк
- Лямбда-функции в Python
- Присвоение значений переменным в Python
- Функция pow() — возвести число в степень
- Получение ID процесса
- Пропуск строк в файле с itertools
- Открытие, чтение и закрытие файла
- Проверка типов с использованием isinstance
- Работа с необработанными строками
- Преобразование списка в словарь через генератор















