Курс 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"
- Сокращение ссылок с pyshorteners
- Проблемы с именами переменных
- Инициализация переменных
- Работа с эмодзи в Python
- Работа с контекстными переменными
- Библиотека itertools: объединение списков
- Установка и использование howdoi
- Обработка StopIteration в Python
- Метод округления чисел
- Импорт модулей в Python 3.12
- Работа с итераторами в Python
- Типы возвращаемых значений в Python
- Разбиение текста в Python
- Работа с файлами в Python
- Сравнение объектов в Python
- Работа с геоданными с помощью geopy
- Работа с асинхронными задачами в Python
- Управление пакетами с pip
- Сохранение Unicode в JSON
- Реверс строки и списка в Python.
- Однострочники Python
- Зарезервированные слова в Python
- Возвращение нескольких значений
- Отступы в Python
- Сериализация объектов в Python
- Открытие и редактирование скриптов Python
- Работа с итераторами в Python
- Обход словаря в Python
- Основные операции с Numpy
- Поиск анаграмм с Counter
- Подсчет элементов в Python
- Метод title() в Python
- Генераторы в Python
- Работа с изображениями Pillow
- Работа с collections в Python
- Оператор match в Python
- Проверка надежности пароля на Python
- Создание функций с произвольным количеством аргументов
- Глобальные переменные в Python
- Нахождение хеша для бесконечности и NaN в Python
- Операции с комплексными числами
- Работа с часовыми поясами в Python
- Создание генераторов в Python
- Форматирование строк в Python















