Курс 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"
- Метод repr() в Python
- Декораторы в Python
- Логирование с Logzero
- Лямбда-функции в Python
- Многопоточность в Python
- Парсинг веб-страниц с Beautiful Soup
- Аннотации типов в Python
- Взаимодействие с внешними процессами в Python
- Создание GUI на Tkinter
- Отслеживание прогресса с tqdm
- Работа с файлами и директориями в Python.
- Работа с PosixPath() в Python
- Заказ карты Тинькофф Black
- Функции all и any в Python
- Декораторы в Python
- Цикл for в Python
- Вакансии в Nebius
- Мощь вложенных функций в Python
- Курсы Яндекс Практикум
- Функция __init__ в Python
- Замена символов в Python
- Разделение строки с помощью re.split()
- Использование defaultdict в Python
- Чтение и запись TOML-конфигов
- Метод pop() списка
- Списковое включение в Python
- Разработка Telegram-ботов
- Python enumerate() функции
- Работа с файлами в Python
- Регистрация на курсы SF Education
- Импорт и использование модулей в Python
- Объединение словарей в Python
- Получение частей дроби
- Dict Comprehension в Python
- Удаление элементов из списка в Python
- Lambda-функция в Python: использование с map() и sum()
- Переменная Шредингера
- Получение имени функции с помощью inspect
- Подписка на @SelectelNews
- Оператор del в Python
- Генераторы в Python
- Пространство имен в Python
- Лямбда-функции для min/max
- Константы в модуле cmath















