Курс 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
- Работа с кортежами в Python
- Генераторы в Python
- Объединение словарей в Python
- Подсчет элементов в Python
- Генераторы в Python
- Конкатенация строк с методом join()
- Форматирование строк в Python
- Функции высшего порядка в Python
- Установка Python3.7 и PIP
- Работа с модулем os в Python
- Ускоренный импорт библиотек
- Класс Counter() для подсчета элементов
- Проверка однородности элементов списка
- Поиск шаблона в начале строки
- Python: Splat-оператор и splatty-splat
- Повторение элементов в Python
- Нахождение максимального значения и его индекса в списке
- Получение размера объекта с sys.getsizeof()
- Проблемы с dict в Python
- Хэш-функции и метод цепочек
- Область видимости переменных
- Поиск файлов по шаблону
- Оптимизация памяти с __slots__
- Удаление дубликатов из списка
- Создание класса очереди
- Работа с базами данных SQLite
- Метод округления чисел
- Анонимные функции в Python
- Переопределение метода __lshift__
- Создание матрицы в Python
- Работа с IP-адресами в Python
- Преобразование вложенного списка
- Модуль xkcd: загрузка комиксов
- Передача словаря через **kwargs
- Распаковка аргументов в Python
- Установка и использование Telegram API в Python
- Структурирование именованных констант
- Модуль functools в Python
- Работа с YAML в Python
- Обработка StopIteration в Python
- Работа с Enum в Python3.
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Игра «Виселица» на Python
- Преобразование Word в PDF с Spire.Doc
- Преобразование текста в речь с Python
- Хэш-функции в Python
- Сортировка с помощью параметра key
- Генератор списка с условием if















