擅长:python、mysql、java
<p>正如<a href="http://docs.python.org/reference/executionmodel.html#naming-and-binding" rel="noreferrer">the Python language docs</a>中所解释的,Python中的名称首先在本地作用域中查找,然后在任何封闭的本地作用域中查找,然后在模块级作用域中查找,最后在内置的命名空间中查找。所以内置的是特殊的外壳。它们不是在模块的作用域中导入的,但是如果在其他任何地方都找不到名称,Python将在作用域<code>__builtin__</code>中查找它。</p>
<p>请注意,您可以访问此作用域的内容而不导入它。一种便携式的方法是</p>
<pre><code>import sys
print(dir(sys.modules["__builtin__"]))
</code></pre>
<p>在CPython中,这同样有效</p>
<pre><code>print(dir(__builtins__))
</code></pre>
<p>但这被认为是一个实现细节,可能不适用于其他Python实现或将来的版本。</p>