Курс 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"
- Работа с Colorama
- Преобразование данных в Python
- Непрерывная проверка в Python
- Поиск простых чисел
- Перетасовка списков в Python
- Конвертация текстовых чисел с помощью Numerizer
- Генераторы в Python
- Функция zip() в Python
- Названия столбцов в Python таблицах
- Профилирование с cProfile
- Модуль math: основные функции
- Ввод нескольких значений
- Контекстный менеджер в Python
- Объединение словарей в Python
- Генерация тестовых данных с factory_boy
- Методы __repr__ и __str__ в Python
- Работа с WindowsPath()
- Основные операции с Numpy
- Python: динамическая типизация и проверка типов
- Перебор элементов списка в Python
- enumerate() в Python для работы с индексами
- Подсчет элементов с помощью Counter из collections
- Метод pos в Python
- Запрос пароля с помощью getpass
- Управление экспортом элементов
- Управление браузером с Selenium
- Просмотр внешних файлов в %pycat
- Отрицательные индексы списков
- Новшества Flask 2.0
- Python Метод sleep() из time
- Автоматизация с Python
- Склеивание строк без циклов
- Псевдонимы в Python
- Фильтрация входных данных в Python
- Расчет времени выполнения программы
- Извлечение новостей с newspaper3k
- Правила именования переменных
- Создание Radio кнопок в tkinter
- Python defaultdict добавление ключа
- Сериализация объектов в Python
- Функция с **kwargs в Python
- Создание новых функций через partial















