Last Updated: June 6, 2026
A coroutine is the object that asyncio schedules. Every example so far has used them, mostly as a side effect of writing async def and await. This lesson focuses on coroutines directly: what the coroutine object is, how its state evolves as it runs, how it differs from the older generator-based form, and the introspection tools that help when something goes wrong.