Курс 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"
- lru_cache оптимизация функций
- Чтение бинарного файла в Python.
- Синтаксис переменных цикла в Python
- Создание и использование модулей в Python
- Переопределение унарных операторов
- Функция enumerate() — Python
- Транспонирование 2D-массива с помощью zip
- Проверка типа данных
- Установка Python — Простое руководство
- Функция enumerate() в Python
- Обработка исключений в Python
- Оператор in в Python
- Уникальные значения из списка
- Подробная информация о %pinfo
- Генераторы в Python
- Вычисление разности множеств в Python
- Проверка подстроки в строке с помощью in
- Умножение строк и списков
- Создание новых списков в Python
- Метод enumerate() в Python
- Работа с JSON в Python
- Работа с itertools
- Метод join() для объединения строк
- Работа с кортежами в Python
- Поиск файлов по шаблону
- Генератор надежных паролей
- Удаление ключа из словаря
- Метод rename() для переименования файлов и каталогов
- Поиск всех индексов подстроки
- Определение функций с необязательными аргументами
- Глобальные переменные в Python
- Транспонирование 2D-массива с помощью zip
- Поиск HTML-элементов с BeautifulSoup
- Форматирование чисел в Python
- Создание и удаление объектов
- Игра Виселица на Python
- Декоратор Property в Python
- Декораторы в Python
- Преобразование данных в Python
- Регулярные выражения: метод match
- Поиск шаблона в начале строки
- Работа с библиотекой requests
- Переопределение метода __pow__
- Транспонирование матрицы в Python















