擅长:python、mysql、java
<p>每个函数对象都有一个存储第一个行号的代码对象,因此您可以使用:</p>
<pre><code>import inspect
ordered = sorted(inspect.getmembers(moduleobj, inspect.isfunction),
key=lambda kv: kv[1].__code__.co_firstlineno)
</code></pre>
<p>获取<code>(name, function)</code>对的排序列表。对于Python2.5及更早版本,您需要使用<code>.func_code</code>而不是<code>.__code__</code>。你知道吗</p>
<p>您可能需要进一步筛选在模块本身中定义的、尚未导入的函数;<code>func.__module__ == moduleobj.__name__</code>应该足够了。你知道吗</p>