From the web, it says
When you have an asynchronous function (coroutine) in Python, you declare it with async def, which changes how its call behaves. In particular, calling it will immediately return a coroutine object, which basically says "I can run the coroutine with the arguments you called with and return a result when you await me"
So when you call an async
function without await, you will get back a coroutine.
Why I get back a coroutine, why not just a generator? Because I'm not sending any future input to it.