如图所示。 256这里是什么意思,为什么不返回True?谢谢你的帮助 !
答案 0 :(得分:0)
你应该把它当作一个" truthy"值。它实际上是一个CPython的实现细节,您可能不应该关注它。只是做:
if inspect.isawaitable(coro):
如果你想知道,这里是来自inspect.py:
的所述函数的实现def isawaitable(object):
"""Return true is object can be passed to an ``await`` expression."""
return (isinstance(object, types.CoroutineType) or
isinstance(object, types.GeneratorType) and
object.gi_code.co_flags & CO_ITERABLE_COROUTINE or
isinstance(object, collections.abc.Awaitable))
负责返回值的部分是
object.gi_code.co_flags & CO_ITERABLE_COROUTINE
实际上评估为256(2 ^ 8)。