Курс 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"
- Основные операции с библиотекой Numpy
- Определение наиболее частого элемента с помощью collections.Counter
- Docstring в Python
- Автоматизация с Python
- Работа с defaultdictами в Python
- Работа с CSV файлами в Python
- Лямбда-функции в Python
- Итераторы в Python
- Генераторы списков
- Defaultdict в Python
- Сортировка элементов в Python
- Список методов и атрибутов
- Ускорение выполнения кода в Python
- Функции all и any в Python
- Python Метод Union Множеств
- Присвоение и ссылки
- Метод splitlines() для разделения строк
- Функция product() в Python
- Управление контекстом выполнения
- Асинхронное программирование с asyncio
- Классы данных в Python
- Метод округления чисел
- Использование двоеточия в Python
- Импорт модулей в Python 3.12
- Работа с PosixPath() в Python
- Изменение регистра данных
- Dict Comprehension в Python
- Генерация случайных чисел в Python
- Наследование в программировании
- Метод invert для побитового отрицания
- Копирование в Python
- Объединение списков в Python
- Применение функции к каждому элементу списка
- Генераторы в Python
- lru_cache оптимизация функций
- Генераторы в Python
- Поиск частого элемента
- Принцип одной функции
- Возврат нескольких значений из функции
- Группировка элементов Python
- Перемещение и удаление файлов в Python
- Работа с Enum в Python3.
- Установка и использование TensorFlow
- Класс Counter() для подсчета элементов
- Функция reduce() из модуля functools















