Зачем нужен yield
Python
Middle
Аэрофлот
Зачем нужен yield
Ответы
`yield` используется в Python для создания генераторов — функций, которые возвращают итерируемый объект и могут приостанавливать своё выполнение, сохраняя состояние между вызовами. Это полезно для работы с большими или бесконечными последовательностями без загрузки их в память целиком.
Пример:
```
def count_up_to(max):
count = 1
while count <= max:
yield count
count += 1
# Использование
counter = count_up_to(5)
for num in counter:
print(num) # Выведет 1, 2, 3, 4, 5
```
Ключевые преимущества:
- **Ленивые вычисления** — значения генерируются по требованию
- **Экономия памяти** — не хранит всю последовательность сразу
- **Сохранение состояния** — функция продолжает с места последнего `yield`
Генераторы часто используются для потоковой обработки данных, работы с большими файлами или создания бесконечных последовательностей.