<p>使用Python的<a href="https://docs.python.org/3/library/inspect.html">inspect</a>模块。</p>
<p><code>inspect.iscoroutinefunction(object)</code></p>
<blockquote>
<p>Return true if the object is a coroutine function (a function defined with an async def syntax).</p>
</blockquote>
<p>此函数在Python3.5之后可用。
该模块可用于Python 2,但功能较少,而且肯定没有您要寻找的功能:<a href="https://docs.python.org/2/library/inspect.html">inspect</a></p>
<p>顾名思义,Inspect模块对于检查很多事情都很有用。文件上说</p>
<blockquote>
<p>The inspect module provides several useful functions to help get information about live objects such as modules, classes, methods, functions, tracebacks, frame objects, and code objects. For example, it can help you examine the contents of a class, retrieve the source code of a method, extract and format the argument list for a function, or get all the information you need to display a detailed traceback.</p>
<p>There are four main kinds of services provided by this module: type checking, getting source code, inspecting classes and functions, and examining the interpreter stack.</p>
</blockquote>
<p>本模块的一些基本功能包括:</p>
<pre><code>inspect.ismodule(object)
inspect.isclass(object)
inspect.ismethod(object)
inspect.isfunction(object)
</code></pre>
<p>它还打包了检索源代码的功能</p>
<pre><code>inspect.getdoc(object)
inspect.getcomments(object)
inspect.getfile(object)
inspect.getmodule(object)
</code></pre>
<p>方法是直观命名的。如有需要,可在文档中找到说明。</p>