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