Курс 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
- Разделение строки с помощью re.split()
- Операции с числами в Python
- Деление в Python
- Установка максимального количества цифр
- Пропуск строк в файле с itertools
- Использование defaultdict в Python
- Метод join() для объединения элементов в строку.
- Создание словарей и множеств в Python
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Упрощение работы с JSON-данными в Python
- Сравнение строк в Python
- Многострочные строки в Python
- Управление User-Agent в Python
- Retrying в Python: повторные вызовы
- Работа с словарями в Python
- Блок else в циклах.
- Удаление файлов в Python
- Отладка в Python
- Реализация операции -= для пользовательского класса
- Создание словаря через dict comprehension
- Область видимости переменных
- Комментарии в Python
- Извлечение новостей с newspaper3k
- Улучшенные подсказки для импорта в Python 3.12
- Генерация UUID в Python
- Декораторы с @wraps
- Подсчет элементов с помощью Counter
- Преобразование символов в нижний регистр
- Лямбда-функции в Python
- Генерация QR-кодов с библиотекой qrcode
- Flask — веб-фреймворк Python
- Генераторы в Python
- Работа с getopt
- Работа со словарями с defaultdict из collections
- Профилирование с Pandas
- Возврат нескольких значений
- Приоритет операций в Python
- Поток данных в Python
- Создание Telegram-бота на Python
- Выборка чисел
- Получение локальных переменных в Python
- Использование type hints
- Создание вложенных циклов for
- Проверка класса объекта
- Метод init в Python
- Именованные срезы в Python
- Библиотека Emoji: использование смайлов в Python















