asyncio is supposed to implement asynchronous IO with the help of coroutines. Originally implemented as a library around the yield and yield from expressions it’s now a much more complex beast as the language evolved at the same time. So here is the current set of things that you need to know exist:
- event loops
- event loop policies
- awaitables
- coroutine functions
- old style coroutine functions
- coroutines
- coroutine wrappers
- generators
- futures
- concurrent futures
- tasks
- handles
- executors
- transports
- protocols
http://lucumr.pocoo.org/2016/10/30/i-dont-understand-asyncio/