__builtins__ 和 __builtin__
__builtins__ 模块包含内建名称空间中内建名字的集合。 其中大多数(如果不是全部的话)来自 __builtin__ 模块, 该模块包含内建函数, 异常以及其他属性。 在标准 Python 执行环境下,__builtins__ 包含 __builtin__ 的所有名字。
python解释器首先加载内建名称空间,随后加载执行模块的全局名称空间,如果在执行期间调用了一个函数, 那么将创建出第三个名称空间, 即局部名称空间。
如果在一个模块的顶层导入, 那么它的作用域就是全局的; 如果在函数中导入, 那么它的作用域是局部的。