Встречается на собеседованиях • сегодня
В чем разница между генератором и корутиной
Генератор и корутина в Python используют ключевое слово yield, но служат разным целям:
Генератор — это итератор, который генерирует значения на лету. Он однонаправленный: данные только выдаются наружу через yield. Пример:
python
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1Корутина — это генератор, который может принимать данные через send() и обрабатывать их. Двунаправленный: данные можно и получать, и отправлять. Пример:
python
def coroutine():
while True:
x = yield
print(f"Received: {x}")
c = coroutine()
next(c) # инициализация
c.send(10) # выведет "Received: 10"Ключевые отличия:
- Генераторы производят данные, корутины их потребляют и обрабатывают
- Корутины поддерживают
.send(),.throw(),.close() - Корутины часто используются для кооперативной многозадачности

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