Курс 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"
- Работа с collections в Python.
- Передача параметров в Python
- Отладка регулярных выражений в Python
- Структура данных словарь в Python
- Работа с кортежами
- Переопределение метода len
- Работа с множествами в Python
- Цикл for в Python
- Оператор is в Python
- lru_cache оптимизация функций
- Проекты на Python
- Функция pow() — возвести число в степень
- Курс Data Scientist в медицине
- Преобразование кортежа в словарь.
- Создание и использование ChainMap
- Нахождение хеша для бесконечности и NaN в Python
- Виртуальные среды в Python
- Numpy: объединение массивов
- Метод gt в Python
- Просмотр внешних файлов в %pycat
- Глубокое копирование объектов
- Поиск наиболее частого элемента списке
- Функции map, filter, reduce
- Проектирование Singleton с метаклассом
- Аннотации типов в Python
- Функция zip() в Python
- Возвращение нескольких значений через кортеж или класс
- Измерение потребления памяти при сортировке
- Получение значений из словарей
- Оператор in и not in в Python
- Логирование с Logzero
- Добавление элементов в список: append() vs extend()
- Измерение времени выполнения кода
- Установка Home Assistant
- Список импортированных модулей в Python
- Установка пакетов с помощью pip
- Переворот строки с использованием цикла
- Генерация случайных чисел в Python
- Управление ресурсами в Python
- Вычисление натурального логарифма в NumPy
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Оператор @ для умножения матриц
- Сумма элементов списка
- Проверка окончания строки с помощью str.endswith()
- Итерации в Python
- Взаимодействие с sys
- Принципы LSP и ISP в Python















