Курс 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"
- F-строки в Python
- Названия столбцов в Python таблицах
- Профилирование кода на Python
- Работа с базами данных SQLite
- Метод join() для объединения элементов строки
- Enum в Python: создание и использование перечислений
- Работа с файлами в Python
- Объединение словарей в Python
- Деление в Python
- Поиск элементов BeautifulSoup
- Замена элементов в списке с помощью генераторов списков
- Оператор in и not in в Python
- Роль object и type в Python
- Карта бомбоубежищ в Москве и Питере
- Операция += для списков
- Установка максимального количества цифр
- Retrying в Python: повторные вызовы
- Множественное наследование в Python
- Переопределение метода __or__()
- Работа со списками
- Объединение словарей в Python
- Отслеживание прогресса с tqdm
- Изменение объектов в Python
- Изменение элемента списка
- Открытие и запись файлов
- Преобразование Excel в PDF с Spire.XLS
- Операторы Splat и splatty-splat
- Итераторы в Python
- Удаление элементов из списка в Python
- Создание GUI на Tkinter
- Создание объекта timedelta
- Печать календаря в Python
- Работа с индексами списков
- Участие в LP стейкинге Waves
- Перевод текста с Python Translator
- Управление ресурсами с контекстными менеджерами
- Основы слова
- Синхронизация доступа к ресурсам
- Работа с переменными в Python
- Генераторные выражения и islice.
- Активация Matplotlib в Jupyter
- Генераторы в Python















