Курс 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"
- Инициализация объекта
- UserString в Python
- Оператор Walrus в Python 3.8
- Установка и использование pyshorteners
- Запрос пароля с помощью getpass
- Установка и использование Python-dateutil
- PUT запрос для обновления данных
- Запуск файлового сервера
- Изменение списка срезом
- Генераторы по генератору
- Сравнение def и lambda функций в Python
- Библиотека schedule: планировщик задач
- Сумма элементов списка
- Инверсия списка/строки в Python
- Синтаксис переменных цикла в Python
- Копирование списков в Python
- Функции map, filter, reduce
- Проверка условий в Python
- Названия переменных
- Итерация по итерируемым объектам
- Операторы сравнения в Python
- Подсчет вхождений элементов
- Обрезка изображения с Pillow
- Транспонирование матрицы
- Удаление дубликатов в pandas
- Сортировка элементов в Python
- Решатель судоку на Python с pygame
- Декораторы с @wraps
- PATCH-запрос с библиотекой requests
- Python: отсутствие точек с запятыми
- Counter() — подсчет элементов
- Python 3.12: переиспользование кавычек
- Блок else в циклах Python
- Работа с Telegram API на Python
- Удаление дубликатов из списка
- Декоратор для группы пользователей в Django
- Сортировка и обратный порядок
- Символ подчеркивания в Python
- Возврат нескольких значений
- Работа с комплексными числами
- Модуль antigravity: генерация координат
- Управление пакетами с pip
- Извлечение новостей с newspaper3k
- Поиск уникальных элементов строкой в Python
- Замыкания в Python
- Вывод переменной и строки в Python
- Оптимизация поиска в словарях















