mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 06:55:36 +08:00
17 lines
4.1 KiB
HTML
17 lines
4.1 KiB
HTML
<div class="body" role="main"><div class="section" id="module-builtins"><h1><span class="yiyi-st" id="yiyi-10">29.3. <a class="reference internal" href="#module-builtins" title="builtins: The module that provides the built-in namespace."><code class="xref py py-mod docutils literal"><span class="pre">builtins</span></code></a> — 内建对象</span></h1><p><span class="yiyi-st" id="yiyi-11">此模块提供对Python的所有'内建'标识符的直接访问;例如,<code class="docutils literal"><span class="pre">builtins.open</span></code>是内建函数<a class="reference internal" href="functions.html#open" title="open"><code class="xref py py-func docutils literal"><span class="pre">open()</span></code></a>的全名。</span><span class="yiyi-st" id="yiyi-12">有关文档,请参见<a class="reference internal" href="functions.html#built-in-funcs"><span>内建函数</span></a>和<a class="reference internal" href="constants.html#built-in-consts"><span>内建常量</span></a>。</span></p><p><span class="yiyi-st" id="yiyi-13">这个模块通常不被大多数应用程序显式地访问,但在提供与内建值相同名称的对象的模块中很有用,但是其中还需要该名称的内建。</span><span class="yiyi-st" id="yiyi-14">例如,在想要实现包装内建<a class="reference internal" href="functions.html#open" title="open"><code class="xref py py-func docutils literal"><span class="pre">open()</span></code></a>的<a class="reference internal" href="functions.html#open" title="open"><code class="xref py py-func docutils literal"><span class="pre">open()</span></code></a>函数的模块中,可以直接使用此模块:</span></p><pre><code class="language-python"><span></span><span class="kn">import</span> <span class="nn">builtins</span>
|
||
|
||
<span class="k">def</span> <span class="nf">open</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
||
<span class="n">f</span> <span class="o">=</span> <span class="n">builtins</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="n">UpperCaser</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
|
||
|
||
<span class="k">class</span> <span class="nc">UpperCaser</span><span class="p">:</span>
|
||
<span class="sd">'''Wrapper around a file that converts output to upper-case.'''</span>
|
||
|
||
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">f</span><span class="p">):</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">_f</span> <span class="o">=</span> <span class="n">f</span>
|
||
|
||
<span class="k">def</span> <span class="nf">read</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">count</span><span class="o">=-</span><span class="mi">1</span><span class="p">):</span>
|
||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_f</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">count</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span>
|
||
|
||
<span class="c1"># ...</span>
|
||
</code></pre><p><span class="yiyi-st" id="yiyi-15">作为实现细节,大多数模块具有作为其全局的一部分可用的名称<code class="docutils literal"><span class="pre">__builtins__</span></code>。</span><span class="yiyi-st" id="yiyi-16"><code class="docutils literal"><span class="pre">__builtins__</span></code>的值通常是此模块或此模块的<a class="reference internal" href="stdtypes.html#object.__dict__" title="object.__dict__"><code class="xref py py-attr docutils literal"><span class="pre">__dict__</span></code></a>属性的值。</span><span class="yiyi-st" id="yiyi-17">由于这是一个实现细节,它不能被Python的替代实现使用。</span></p></div></div> |