Встречается на собеседованиях • сегодня
Зачем нужен yield, кроме создания генераторов в Python
yield в Python используется не только для создания генераторов, но и для реализации корутин — функций, которые могут приостанавливать и возобновлять своё выполнение. Это позволяет писать асинхронный код без использования колбэков или сложных цепочек промисов.
Пример использования yield для корутин:
python
def coroutine():
print("Start")
while True:
value = yield
print(f"Received: {value}")
c = coroutine()
next(c) # Инициализация корутины
c.send(42) # Отправка значения в корутинуТакже yield используется в контексте yield from (Python 3.3+) для делегирования генераторов, что упрощает композицию генераторов:
python
def gen1():
yield from range(3)
def gen2():
yield from gen1()
yield from 'abc'В асинхронном программировании (до появления async/await) yield использовался для реализации event loop'ов, например в библиотеке Tornado.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы