Курс 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
- Получение пути к текущему скрипту с помощью os
- Проверка ввода с помощью isdigit
- Добавление вложенных списков
- Измерение времени выполнения кода
- Форматирование строк в Python
- Преобразование типов данных в set comprehension
- Модуль pprint: улучшение вывода данных
- Создание графики с черепахой
- Управление доступом к модулю
- kwargs в Python
- Безопасные SQL-запросы в Python 3.11
- Создание уникального множества
- Конкатенация строк с помощью join()
- Метод Event.wait() в Python
- Переопределение оператора % для объектов
- Метод __irshift__ для побитового сдвига вправо
- Метод setdefault() в Python
- Раздувающийся словарь в Python
- Разность множеств
- Поиск с библиотекой Google
- Многострочные комментарии в Python
- Управление экспортом элементов
- Инверсия списка и строки в Python
- Переменные класса и экземпляра
- Комментарии в Python
- Удаление знаков препинания в Python
- Асинхронное выполнение задач в процессах
- Удаление элемента по индексу
- Проблемы с именами переменных
- Контекстный менеджер в Python
- Ускорение обработки данных с %autoawait
- Списковое включение в Python
- Управление мышью и клавиатурой с Pyautogui
- Операторы сравнения в Python
- Методы обработки строк в Python
- Метод join() с набором
- Активация Matplotlib в Jupyter
- Создание уникального проекта
- Метод rxor для операции побитового исключающего «или»
- Асинхронное выполнение задач в Python
- Установка random seed в Python
- Установка Python3.7 и PIP
- Управление ресурсами с контекстными менеджерами
- Копирование объектов в Python
- Официальный канал Python в Telegram
- Удаление ресурса в Python
- Декораторы в Python















