Issue
I'm working on Python 3.5.1 and I want to be able to tell if a function has returned as coroutine object but I cannot find where the coroutine type is defined, instead as of late I've been using the below snippet to get the type through instantiating a coroutine with a function.
async def _f():
pass
COROUTINE_TYPE = type(_f())
There's got to be a better way to do this, my question is where is this type defined so I can use it directly?
Solution
Probably the best way to access the coroutine type is through the types
module:
import types
types.CoroutineType # here it is
That's not actually where the coroutine type is defined - types.py
does pretty much the same thing you're doing to get at it - but it's the standard Python-level way to access the type.
If you want to see the actual definition of the type, that's in Include/genobject.h
and Objects/genobject.c
. Look for the parts that say PyCoroWhatever
or coro_whatever
.
Answered By - user2357112 supports Monica
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.