Курс 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"
- Beautiful Soup — извлечение данных из HTML
- Метод __int__ в Python
- Получение пути к текущему скрипту с помощью os
- Список переменных в Python
- Оператор «is not» в Python
- Инвертирование словаря
- Фильтрация списка чисел
- Функция zip() в Python
- Модуль array: создание и использование массивов
- Создание объекта времени
- Python: отличительная особенность — отступы
- Работа с PosixPath() в Python
- Установка переменной среды в Python
- Вывод сложных структур данных с помощью pprint
- Работа со словарями в Python
- Преобразование данных в Python
- Создание и использование модулей в Python
- Ошибка NotImplemented в Python
- Python: динамическая типизация и проверка типов
- Поиск уникальных и повторяющихся элементов
- Оператор (*) в Python
- Оператор * в Python
- Запуск файлового сервера
- Добавление элементов в список
- Работа с OpenCV
- Сортировка с параметром key
- Вывод букв строки в Python
- Анонимные функции Lambda
- Python: Splat-оператор и splatty-splat
- Встроенные функции Python
- Списки в Python
- Область видимости переменных
- Скачать видео с YouTube
- Магические методы в Python
- Зарезервированные слова в Python
- Оператор Walrus: правильное использование
- Поиск частых элементов в списке
- Логирование с Logzero
- Python: Фильтрация списков с помощью filter()
- Структура данных deque в Python
- Сокращение ссылок с pyshorteners
- Работа с аргументами командной строки
- Преобразование данных в Python
- Список переменных с %who
- Установка и использование pyshorteners















