Курс 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"
- Работа с кортежами
- Нахождение самого длинного слова в списке с помощью max
- Замена подстроки
- Иерархия классов в Python
- Работа с модулем glob в Python
- Конструктор в Python
- Сортировка и обратный порядок
- Решение переменной Шредингера
- Генераторы словарей и множеств
- Работа с переменными в Python
- Распаковка аргументов в Python
- Ускорение выполнения кода в Python
- Асинхронный код в Python
- Создание новых списков в Python
- Тестирование времени с Freezegun
- Работа с SQLite в Python
- Удаление дубликатов из списка с помощью dict.fromkeys
- Структура строк в Python
- Работа с датой и временем в Python
- Логический оператор «and» в Python
- Методы в Python
- Расширение информации об ошибке в Python
- Работа со строками в Python
- Сравнение объектов в Python
- Работа с датой и временем в Python
- Сортировка в Python
- Атрибуты класса и экземпляра
- Метод __float__ в Python
- Отношения подклассов в Python
- Очистка данных с Pandas
- Взаимодействие с внешними процессами в Python
- История Python
- Метод init в Python
- Numpy: использование Ellipsis
- Компиляция регулярных выражений
- Поиск файлов по шаблону
- Тип данных TypeVarTuple
- Декораторы в Python
- Создание словарей в Python
- Возврат нескольких значений
- Переопределение метода __rshift__
- Модуль math: основные функции
- Избегайте пустого списка
- Имена объектов в Python
- Работа с IP-адресами в Python















