title: Does `await` in Python yield to the event loop?
body: <p>I was wondering what exactly happens when we <code>await</code> a coroutine in async Python code, for example:</p>
  
  <pre><code>await send_message(string)
  </code></pre>
  
  <p>(1) <code>send_message</code> is added to the event loop, and the calling coroutine gives up control to the event loop, or</p>
  
  <p>(2) We jump directly into <code>send_message</code></p>
  
  <p>Most <a href="https://stackoverflow.com/a/46364261/2111778">explanations</a> I read point to (1), as they describe the calling coroutine as <em>exiting</em>. But my own experiments suggest (2) is the case: I tried to have a coroutine run after the caller but before the callee and could not achieve this.</p>