Курс 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"
- Обновление данных через PUT запрос
- Возврат нескольких значений
- Метод setdefault() в Python
- Метод index() в Python
- Генераторы в Python
- Прокачанный трейсинг ошибок
- Получение пути к текущему скрипту с помощью os
- EMOT преобразование эмодзи в текст
- Работа с CSV файлами
- Работа с deque из collections
- Структура данных deque в Python
- Комментарии в Python
- Работа со списками
- Метод rlshift для битового сдвига
- Модуль xkcd: добавление юмора в Python
- Создание уникального множества
- Векторизация в Python с NumPy.
- Установка виртуального окружения Python
- Удаление ссылок в Python
- Удаление дубликатов в pandas
- Обновление ключей в Python
- Изменение объектов в Python
- Улучшение читаемости кода в Python
- Присоединение элементов коллекции
- Метод join() для объединения элементов в строку.
- Сортировка с помощью параметра key
- Структуры данных в Python
- Использование defaultdict в Python
- Переменная Шредингера
- Работа с атрибутом dict
- Наследование в программировании
- Повторение элементов в Python
- Структурирование именованных констант
- *args и **kwargs в Python
- Поиск подстроки в строке
- Использование html-скриптов в Jupyter Notebook
- Потоковый ввод в Python
- Визуализация пропусков данных
- Работа с комбинациями в Python.
- Просмотр внешнего файла в Python
- Настройка вывода в Numpy
- Динамическая типизация в Python
- Декораторы в Python
- Работа с CSV в Python
- Применение функции к элементам списка















