Курс 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"
- Извлечение аудио из видео
- Подсчет количества элементов в списке
- Проверка версии Python
- Лямбда-функции в defaultdict
- Перебор элементов списка в Python
- Метод __call__ в Python
- Аннотации типов в Python
- Преобразование списков в словарь
- Удаление символов новой строки в Python.
- Генерация случайных чисел в Python
- Импортирование в Python
- Операторы += в Python
- Оператор деления для класса Rational
- Мощь вложенных функций в Python
- Хэш-функции в Python
- Объединение Python и Shell
- Сортировка с параметром key
- Работа с collections.Counter
- Работа с комплексными числами в Python
- Заказ карты Тинькофф Black
- Удаление ресурса в Python
- Участие в сообществе @selectel
- Преобразование Word в PDF с Spire.Doc
- Отображение графиков в Jupyter с Matplotlib
- Многострочные строки в Python
- Вычисление времени выполнения
- Работа со словарями в Python
- Искажение имен в Python
- Изучение объектов с помощью dir()
- Разделение строки с помощью re.split()
- Лямбда-функции в Python
- Генерация UUID в Python
- Работа с прокси в Python
- Создание .exe файла с pyinstaller
- Python 3.12: Псевдонимы типов
- Логические значения в Python
- Monkey Patching в Python
- Переопределение метода
- Множественное назначение в Python
- Метод get() в Python
- Именованные срезы в Python
- Локальные переменные.
- Асинхронное программирование с asyncio
- Функция zip() в Python















