Курс 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"
- Удаление элементов по срезу
- Итераторы в Python
- Зарезервированные слова в Python
- Управление ресурсами в Python
- Ограничение ресурсов в Python
- Структура данных deque в Python
- Функция eval() в Python
- Работа с IP-адресами в Python
- Работа с аргументами командной строки в Python
- Метод __complex__ в Python
- Фильтрация списков с itertools
- Работа с классами данных
- Многоточие в Python
- Срезы в Python
- Форматирование строк в Python
- Сравнение def и lambda в Python
- Оператор zip в Python
- Возврат нескольких значений
- Создание OrderedDict
- Названия столбцов в Python таблицах
- Разделение строки с помощью re.split()
- Создание и использование модулей в Python
- Метод matmul для умножения матриц
- Сортировка в Python
- Создание виртуальной среды
- Регистрация на курсы SF Education
- Деление в Python
- Установка Home Assistant
- Деление в Python
- Динамическая типизация в Python
- Форматирование кода на Python
- Python itertools combinations() — группировка элементов
- Непрерывная проверка в Python
- Форматирование строк в Python.
- Создание матрицы в Python
- Расчет времени выполнения кода
- Преобразование строки в число
- Работа с кортежами в Python
- Шаблоны Flask: условия и циклы
- Фильтрация данных в Python.
- Оператор Walrus в Python 3.8
- Управление памятью в Python
- Работа с Colorama
- Декораторы в Python
- Отправка HTTP-запросов в Python
- Фильтрация последовательности















