Курс 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
- Генератор чисел Фибоначчи
- Функция all() в Python
- Метод __complex__ в Python
- Транспонирование 2D-массива с помощью zip
- Создание словарей с defaultdict()
- Pillow: работа с изображениями
- Генераторы в Python
- Оператор walrus в Python
- Объединение Python и Shell
- Изменение переменной в Python: nonlocal
- PATCH-запрос с библиотекой requests
- Сглаживание списка
- Декодирование байтов в строку
- Изменение элемента списка
- Хранение переменных в словаре.
- UserString в Python
- Преобразование строк в числа в Python
- Переменная Шредингера
- Профилирование с Pandas
- Генерация случайных чисел в Python
- Импорт классов из другого файла
- Генераторы по генератору
- Обмен данными с asyncio.Queue
- Раздувающийся словарь в Python
- Модуль math: основные функции
- Подсчет элементов в Python
- Очистка данных с Pandas
- Эффективная конкатенация строк с использованием join()
- Объединение строк с помощью метода join
- Измерение времени выполнения с помощью time
- Методы split() и join() — Python строк.
- Вычисление фазы комплексного числа
- Описание скриптов в README
- Метод сравнения объектов в Python
- Поиск с помощью регулярных выражений
- Сортировка HTML-элементов
- Генераторы списков в Python
- Множественное назначение в Python
- Генераторные функции в Python
- Основные операции с библиотекой Numpy
- Печать месячного календаря
- Автоматизация с Python
- Экспорт данных в файл.
- Преобразование чисел в слова















