Встречается на 1% собеседований по Python
Как взаимодействуют между собой генераторы и корутины
Генераторы и корутины в Python используют один и тот же синтаксис с yield, но служат разным целям.
Генераторы производят последовательности значений через yield, приостанавливая выполнение до следующего вызова next().
Корутины — это генераторы, расширенные для двустороннего обмена данными. Они могут получать значения через yield (используя .send(value)), что делает их полезными для асинхронных задач и кооперативной многозадачности.
Пример корутины:
python
def coroutine():
while True:
value = yield # Принимает значение
print(f"Получено: {value}")
coro = coroutine()
next(coro) # Инициализация
coro.send(10) # Выведет "Получено: 10"Корутины часто используются с asyncio, где await заменяет yield для асинхронных операций.
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы