Встречается на собеседованиях • сегодня

Как взаимодействуют между собой генераторы и корутины

Генераторы и корутины в 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 для асинхронных операций.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы