Курс Python → Генераторы в Python
Генераторные функции (generator functions) — это мощный инструмент в Python, который позволяет создавать итераторы с помощью ключевого слова yield. Когда у вас есть необходимость обработать большой объем данных или выполнить сложные операции с элементами списка, генераторные функции становятся незаменимыми. Они позволяют удобно организовать фильтрацию и обработку элементов списка, не загружая память излишне.
Важным преимуществом использования генераторных функций является их эффективность. Поскольку генераторы работают по требованию (lazy evaluation), они не требуют хранения всех элементов списка в памяти одновременно. Вместо этого элементы обрабатываются по мере необходимости, что позволяет сэкономить ресурсы и улучшить производительность программы.
Для создания генераторной функции в Python необходимо использовать ключевое слово yield. Это ключевое слово позволяет вернуть значение из функции, приостановить ее выполнение и сохранить текущее состояние. При каждом вызове генераторной функции она продолжает выполнение с того места, где была приостановлена, что делает ее итератором.
def my_generator():
for i in range(5):
yield i
gen = my_generator()
for item in gen:
print(item)
В приведенном примере мы создаем генераторную функцию my_generator(), которая возвращает числа от 0 до 4 при каждом вызове. Затем мы создаем объект-генератор и итерируемся по нему, выводя каждый элемент на экран. Таким образом, мы можем эффективно обрабатывать большие объемы данных, не загружая память и повышая производительность программы.
Другие уроки курса "Python"
- Функция reversed() в Python
- Изменение IP-адреса в Python
- Создание объекта timedelta
- Генерация случайных чисел в Python
- Проверка типов с помощью isinstance
- Обмен значений переменных в Python
- Генератор надежных паролей
- Сглаживание списка
- Работа с процессами в Python
- Удаление элемента по индексу
- Цикл for в Python
- Работа с комплексными числами
- Удаление символов новой строки в Python.
- Работа с датой и временем в Python
- Метод matmul для умножения матриц
- Метод join() для объединения строк
- Вычисление натуральных логарифмов в NumPy
- Цепные операции в Python
- Конкатенация строк с join() в Python
- Порядок и длина множеств в Python
- Декораторы в Python
- Генерация случайных чисел Python
- Измерение времени выполнения кода
- Импорт модулей в Python 3.12
- Dict Comprehension в Python
- Настройка вывода NumPy
- Переопределение метода len
- Функция enumerate в Python
- Библиотека Chartify: руководство
- Проверка подстроки в строке с помощью in
- Преобразование строк в числа в Python
- Python Менеджер контекста
- Динамические маршруты во Flask
- Нан-рефлексивность в Python
- Работа с комплексными числами в Python
- Загрузка постов Instagram
- Декодирование байтов в строку
- Распаковка с оператором *
- Python: библиотеки и функции
- Форматирование данных с pprint
- Руководство по библиотеке pydantic
- Блок try…finally в Python
- Необязательные аргументы в Python
- Бинарный поиск















