Курс Python → Генераторы в Python
Генераторные функции — это мощный инструмент в Python, который позволяет создавать итераторы с минимальным использованием памяти. Вместо того чтобы создавать список или кортеж сразу со всеми значениями, генераторная функция генерирует значения по мере необходимости. Это особенно полезно, когда у вас есть большой объем данных, которые необходимо обработать поэлементно.
Для создания генераторной функции в Python используется ключевое слово yield. Когда интерпретатор Python встречает оператор yield в функции, он приостанавливает выполнение функции и возвращает значение. При следующем вызове функции выполнение продолжается с того же места, где оно было приостановлено, и продолжается до следующего оператора yield.
def my_generator():
for i in range(5):
yield i
gen = my_generator()
for value in gen:
print(value)
В этом примере функция my_generator является генераторной функцией, которая возвращает числа от 0 до 4. При вызове функции my_generator() создается объект-генератор, который можно использовать в цикле for для обхода всех значений, сгенерированных функцией.
Использование генераторных функций особенно полезно в случаях, когда необходимо применить серию фильтров или обработчиков к элементам списка. Вместо того чтобы создавать промежуточные списки с отфильтрованными значениями, можно использовать генераторы для ленивой обработки данных, что позволяет сэкономить память и улучшить производительность.
Другие уроки курса "Python"
- Вывод с переменной через запятую
- Метод split() в Python
- Форматирование строк в Python
- Установка Git и AWS CLI
- Создание матрицы в Python
- Создание лямбда-функций
- Основные функции и модули Python
- Извлечение аудио из видео
- Метод bool() в Python
- Модуль os в Python: работа с файлами
- Метод __iand__ для пользовательских классов
- Частичное совпадение пользовательского ввода в Python 3.10
- Управление экспортом элементов
- Метод gt в Python
- Работа с индексами списков
- Логический оператор «and» в Python
- Генерация UUID в Python
- Применение промокода в Много лосося
- Операции с массивами в NumPy
- Генераторы данных
- Функция reduce() в Python
- Тестирование функции сложения
- Многострочные комментарии в Python
- Генераторы в Python
- Взаимодействие с внешними процессами в Python
- Разработка игры Pong с turtle
- Функциональное программирование.
- Сортировка данных с лямбда-функциями
- Counter() — подсчет элементов
- Лямбда-функции в defaultdict
- Python itertools combinations() — группировка элементов
- Объединение объектов в Python
- Декораторы в Python
- Методы Python для работы с данными
- Тестирование модели в PyTorch
- Работа со слайсами
- Множественное наследование в Python
- List Comprehension Tutorial
- Разница между датами
- Гибкие функции Python
- Выборка чисел
- Модуль xkcd: загрузка комиксов
- Именованные срезы в Python
- Декораторы с @wraps
- inspect в Python: анализ кода
- Фильтрация списков с itertools















