Курс Python → Генераторы в Python
Генераторы в Python — это удобный способ создания последовательностей значений без необходимости хранить их все сразу в памяти. Они позволяют генерировать значения по мере необходимости, что экономит ресурсы и увеличивает производительность программы. Для создания генератора используется ключевое слово yield, которое указывает на точку возврата значения и временную остановку выполнения функции.
Преимущества использования генераторов становятся особенно заметными при работе с большими объемами данных или при генерации бесконечных последовательностей. Например, нам нужно сгенерировать квадраты чисел от 0 до 9. Мы можем создать генератор, который будет выглядеть следующим образом:
def squares_generator():
for i in range(10):
yield i**2
squares = squares_generator()
for square in squares:
print(square)
В данном примере функция squares_generator() является генератором, который при каждой итерации цикла for возвращает квадрат числа i. Таким образом, мы можем получить последовательность квадратов чисел от 0 до 9, не храня все значения в памяти одновременно.
Использование генераторов позволяет сократить объем потребляемой памяти и улучшить производительность программы. Кроме того, генераторы обеспечивают ленивое вычисление значений, что позволяет эффективно работать с большими объемами данных. При необходимости можно легко изменить логику генерации значений, добавив новые условия или модифицируя существующие.
Другие уроки курса "Python"
- Переворот строки
- Работа с базами данных SQLite
- Python Метод del.
- Подсказки типов в Python
- Управление асинхронными задачами на Python.
- Печать календаря в Python
- Python: динамическая типизация и проверка типов
- Метод rmatmul для обратного матричного умножения
- Счетчик ссылок в Python
- Получение значений из словарей
- Проверка однородности элементов списка
- Парсинг веб-страниц с Beautiful Soup
- Распаковка элементов последовательности
- Логические значения в Python
- Фильтрация списка от «ложных» значений
- Вычисление фазы комплексного числа
- Распаковка аргументов в Python
- Работа с датой и временем в Python
- TypedDict для kwargs в Python 3.12
- Принципы SRP и OCP
- Генераторы в Python
- Вывод баннеров
- Удаление элемента из списка в Python
- Округление чисел с помощью round
- Автоматизация скриптов на AWS Lightsail.
- Оболочка Python
- Инициализация структур данных
- Профилирование данных с Pandas.
- Функция map() в Python
- Работа с байтовыми строками в Python
- Управление импортом в Python
- Метод lt для сортировки объектов
- Измерение времени выполнения в Python
- Работа с очередями в Python
- Декораторы в Python
- Python и Юникод: работа с цифрами
- Управление IP-адресами через прокси
- Удаление файлов в Python
- Вывод с переменной через запятую
- Оператор is в Python
- Работа с модулем random
- Проблемы с именами переменных
- Группировка элементов в словарь
- Разделение функций на этапы
- Подписка на каналы разработчиков
- Вычисление логарифмов в Python
- Применение функции к каждому элементу списка















