Чем корутины и генераторы отличаются по своему назначению и реализации в Python, особенно в плане использования ключевых слов `yield` и `await`? — ДейлиПреп