擅长:python、mysql、java
<p>这是Python范围解析如何工作的结果。在</p>
<p>Dir()返回当前命名空间中的名称列表。那么为什么它不返回内置函数呢?在</p>
<p>为什么,因为显然它们不在当前名称空间中。在</p>
<p>Import*将把任何模块中的所有函数都转储到当前名称空间中,但这对于<strong>提供对内置函数的访问是不必要的。在</p>
<p>同样,如果Python没有找到变量的局部定义,在类或函数中或其他任何地方,如果找不到一个名为被引用的<em>全局</em>变量,它就开始在<strong>内置函数</strong>模块中查找它。在</p>
<p><strong>TL;DR</strong>-为什么看不到使用bare dir()的内置函数?因为它们不在本地范围内,也不需要在那里工作。在</p>