Курс 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"
- Создание Radio кнопок в tkinter
- Подсчет элементов в Python
- Делегирование в Python
- Метод remove() для удаления элемента из списка
- Замена подстроки
- Метод count() для списков
- Сокращение ссылок с pyshorteners
- Работа с датами в Python
- Возвращение нескольких значений
- Переопределение метода __floordiv__
- Логические значения в Python
- Декораторы в Python
- Преобразование букв в нижний регистр
- Управление асинхронными задачами с помощью Semaphore
- Глубокое копирование объектов
- Глобальные переменные в Python
- Создание OrderedDict
- kwargs в Python
- Отладка регулярных выражений в Python
- Переменная Шредингера
- Создание новых списков через list comprehensions
- Работа с файлами в Python
- Настройка Cron
- Модуль inspect
- Вывод букв строки в Python
- Получение текущей даты и времени с помощью datetime
- Срезы в Python
- Работа с итераторами в Python
- Сравнение строк в Python
- Названия столбцов в Python таблицах
- Генераторы в Python
- Склеивание строк через метод join()
- Управление контекстом с помощью декоратора contextmanager
- Решатель судоку на Python с pygame
- Codecademy в Telegram
- Объединение списков с использованием itertools.chain
- Использование модуля math
- Обработка исключений в Python 3
- Класс Counter() для подсчета элементов
- Потоковый ввод в Python
- Управление виртуальными окружениями в Python
- Удаление дубликатов в pandas
- Нан-рефлексивность в Python
- Отправка HTTP-запросов с User-Agent
- Операции с кортежами
- Генераторы списков в Python
- Гибкие функции Python















