uTools-Manuals/docs/python/pyclbr.html
2019-04-08 23:22:26 +08:00

1 line
8.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="body" role="main"><div class="section" id="module-pyclbr"><h1><span class="yiyi-st" id="yiyi-10">32.9. <a class="reference internal" href="#module-pyclbr" title="pyclbr: Supports information extraction for a Python class browser."><code class="xref py py-mod docutils literal"><span class="pre">pyclbr</span></code></a> - Python类浏览器支持</span></h1><p><span class="yiyi-st" id="yiyi-11"><strong>源代码:</strong> <a class="reference external" href="https://hg.python.org/cpython/file/3.5/Lib/pyclbr.py">Lib / pyclbr.py</a></span></p><p><span class="yiyi-st" id="yiyi-12"><a class="reference internal" href="#module-pyclbr" title="pyclbr: Supports information extraction for a Python class browser."><code class="xref py py-mod docutils literal"><span class="pre">pyclbr</span></code></a>模块可用于确定关于模块中定义的类,方法和顶级函数的一些有限信息。</span><span class="yiyi-st" id="yiyi-13">提供的信息足以实现传统的三窗格类浏览器。</span><span class="yiyi-st" id="yiyi-14">该信息是从源代码中提取的,而不是通过导入模块,因此该模块可以安全地使用不受信任的代码。</span><span class="yiyi-st" id="yiyi-15">此限制使得无法使用此模块与未在Python中实现的模块包括所有标准和可选扩展模块。</span></p><dl class="function"><dt id="pyclbr.readmodule"><span class="yiyi-st" id="yiyi-16"> <code class="descclassname">pyclbr.</code><code class="descname">readmodule</code><span class="sig-paren">(</span><em>module</em>, <em>path=None</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-17">读取一个模块并返回一个字典映射类名到类描述器对象。</span><span class="yiyi-st" id="yiyi-18">参数<em>模块</em>应该是作为字符串的模块的名称;它可以是包内的模块的名称。</span><span class="yiyi-st" id="yiyi-19"><em>path</em>参数应该是一个序列,用于扩充<code class="docutils literal"><span class="pre">sys.path</span></code>的值,用于定位模块源代码。</span></p></dd></dl><dl class="function"><dt id="pyclbr.readmodule_ex"><span class="yiyi-st" id="yiyi-20"> <code class="descclassname">pyclbr.</code><code class="descname">readmodule_ex</code><span class="sig-paren">(</span><em>module</em>, <em>path=None</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-21"><a class="reference internal" href="#pyclbr.readmodule" title="pyclbr.readmodule"><code class="xref py py-func docutils literal"><span class="pre">readmodule()</span></code></a>,但返回的字典,除了将类名映射到类描述器对象之外,还将顶级函数名映射到函数描述器对象。</span><span class="yiyi-st" id="yiyi-22">此外,如果正在读取的模块是包,则返回字典中的键<code class="docutils literal"><span class="pre">'__path__'</span></code>的值为包含软件包搜索路径的列表。</span></p></dd></dl><div class="section" id="class-objects"><h2><span class="yiyi-st" id="yiyi-23">32.9.1. </span><span class="yiyi-st" id="yiyi-24">Class Objects</span></h2><p><span class="yiyi-st" id="yiyi-25">用作由<a class="reference internal" href="#pyclbr.readmodule" title="pyclbr.readmodule"><code class="xref py py-func docutils literal"><span class="pre">readmodule()</span></code></a><a class="reference internal" href="#pyclbr.readmodule_ex" title="pyclbr.readmodule_ex"><code class="xref py py-func docutils literal"><span class="pre">readmodule_ex()</span></code></a>返回的字典中的值的<code class="xref py py-class docutils literal"><span class="pre">Class</span></code>对象提供以下数据属性:</span></p><dl class="attribute"><dt id="pyclbr.Class.module"><span class="yiyi-st" id="yiyi-26"> <code class="descclassname">Class.</code><code class="descname">module</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-27">定义由描述器描述的类的模块的名称。</span></p></dd></dl><dl class="attribute"><dt id="pyclbr.Class.name"><span class="yiyi-st" id="yiyi-28"> <code class="descclassname">Class.</code><code class="descname">name</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-29">类的名称。</span></p></dd></dl><dl class="attribute"><dt id="pyclbr.Class.super"><span class="yiyi-st" id="yiyi-30"> <code class="descclassname">Class.</code><code class="descname">super</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-31">描述正在描述的类的直接基类的<code class="xref py py-class docutils literal"><span class="pre">Class</span></code>对象的列表。</span><span class="yiyi-st" id="yiyi-32">被命名为超类但不能被<a class="reference internal" href="#pyclbr.readmodule" title="pyclbr.readmodule"><code class="xref py py-func docutils literal"><span class="pre">readmodule()</span></code></a>发现的类被列为具有类名称的字符串,而不是<code class="xref py py-class docutils literal"><span class="pre">Class</span></code>对象。</span></p></dd></dl><dl class="attribute"><dt id="pyclbr.Class.methods"><span class="yiyi-st" id="yiyi-33"> <code class="descclassname">Class.</code><code class="descname">methods</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-34">字典映射方法名称到行号。</span></p></dd></dl><dl class="attribute"><dt id="pyclbr.Class.file"><span class="yiyi-st" id="yiyi-35"> <code class="descclassname">Class.</code><code class="descname">file</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-36">包含定义类的<code class="docutils literal"><span class="pre">class</span></code>语句的文件的名称。</span></p></dd></dl><dl class="attribute"><dt id="pyclbr.Class.lineno"><span class="yiyi-st" id="yiyi-37"> <code class="descclassname">Class.</code><code class="descname">lineno</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-38"><a class="reference internal" href="#pyclbr.Class.file" title="pyclbr.Class.file"><code class="xref py py-attr docutils literal"><span class="pre">file</span></code></a>命名的文件中<code class="docutils literal"><span class="pre">class</span></code>语句的行号。</span></p></dd></dl></div><div class="section" id="function-objects"><h2><span class="yiyi-st" id="yiyi-39">32.9.2. </span><span class="yiyi-st" id="yiyi-40">Function Objects</span></h2><p><span class="yiyi-st" id="yiyi-41">用作<a class="reference internal" href="#pyclbr.readmodule_ex" title="pyclbr.readmodule_ex"><code class="xref py py-func docutils literal"><span class="pre">readmodule_ex()</span></code></a>返回的字典中的值的<code class="xref py py-class docutils literal"><span class="pre">Function</span></code>对象提供以下属性:</span></p><dl class="attribute"><dt id="pyclbr.Function.module"><span class="yiyi-st" id="yiyi-42"> <code class="descclassname">Function.</code><code class="descname">module</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-43">定义函数描述器描述的函数的模块的名称。</span></p></dd></dl><dl class="attribute"><dt id="pyclbr.Function.name"><span class="yiyi-st" id="yiyi-44"> <code class="descclassname">Function.</code><code class="descname">name</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-45">函数的名称。</span></p></dd></dl><dl class="attribute"><dt id="pyclbr.Function.file"><span class="yiyi-st" id="yiyi-46"> <code class="descclassname">Function.</code><code class="descname">file</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-47">包含定义函数的<code class="docutils literal"><span class="pre">def</span></code>语句的文件名称。</span></p></dd></dl><dl class="attribute"><dt id="pyclbr.Function.lineno"><span class="yiyi-st" id="yiyi-48"> <code class="descclassname">Function.</code><code class="descname">lineno</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-49"><a class="reference internal" href="#pyclbr.Function.file" title="pyclbr.Function.file"><code class="xref py py-attr docutils literal"><span class="pre">file</span></code></a>命名的文件中<code class="docutils literal"><span class="pre">def</span></code>语句的行号。</span></p></dd></dl></div></div></div>