mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 15:04:05 +08:00
1 line
8.0 KiB
HTML
1 line
8.0 KiB
HTML
<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> |