Курс 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 кода
- Цикл for в Python
- Виртуальные среды в Python
- Создание словарей в Python
- kwargs в Python
- Подсчет элементов с помощью Counter
- Работа с путями в Python
- Оптимизация сравнения в Python
- Лимиты на ресурсы Python
- Оператор continue в Python
- Метод join() для объединения элементов в строку.
- Аннотации типов в Python
- Создание списка через итерацию
- PATCH-запрос с библиотекой requests
- Генератор чисел Фибоначчи
- Сортировка HTML по CSS-селектору
- Именование столбцов в Python с pandas
- Работа с каталогами в Python
- Создание и использование модулей в Python
- Оформление кода на Python
- Отладка в командной строке
- Переменная Шредингера
- Цепные операции в Python
- Объединение словарей в Python
- Сортировка в Python
- Работа с итераторами в Python
- Инверсия списка и строки в Python
- Python reversed() функция
- Многоточие в Python
- Изменение переменной в Python: nonlocal
- Использование двоеточия в Python
- UserString в Python
- Beautiful Soup — извлечение данных из HTML
- Руководство по Pymorphy2
- Применение функции к списку
- Повторение элементов в Python
- Разработка игры Pong с turtle
- Переворот списка в Python
- Отладчик pdb: начало работы
- Генератор данных в Keras
- Работа с контекстными переменными
- Форматирование данных с помощью pprint
- Метод ipow для возведения в степень
- Работа с пакетами
- Обработка исключений в Python
- Преобразование чисел в Python















