Встречается на 2% собеседований по Python
В чем разница между генератором и корутиной
Генератор и корутина в 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
интервью вопросы и ответы