Курс 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"
- Тестирование функции сложения
- Тип CodeType в Python.
- Форматирование кода на Python
- Отладка производительности Python
- Методы HTTP запросов в Flask
- Проверка типа данных
- Генераторы в Python
- Создание namedtuple списком полей
- Непрерывная проверка в Python
- Управление экспортом элементов
- Итерации в Python
- Оформление кода по PEP 8
- Работа с географическими данными.
- Оценка точности модели
- Оптимизация памяти с slots
- Форматирование строк в Python
- Удаление элементов из списка
- Управление асинхронными задачами на Python.
- split() — разделение строки
- Управление контекстом с помощью декоратора contextmanager
- Группировка элементов Python
- Таймер обратного отсчета
- Сложение матриц в NumPy
- Работа с изображениями Pillow
- Обход элементов в Python
- Возврат значений из генератора
- Преобразование символов в нижний регистр
- Генерация тестовых данных с factory_boy
- Создание директории в Python
- Работа с пакетами
- Ограничение итераций в Python
- Сравнение объектов в Python
- Метод сравнения объектов в Python
- Функция enumerate() — Python
- Основные операции с библиотекой Numpy
- Ограничение ресурсов в Python
- Сортировка и обратный порядок
- Преобразование регистра строк
- Использование функции enumerate()
- Структура строк в Python
- Создание тестовых данных с Faker
- Конвертация коллекций в Python.
- Генераторы в Python
- Функция zip() в Python
- Выход из профиля в Django
- Непрерывная проверка в Python















