__builtins__和__builtin__的关系了,前者包含后者,__builtin__的名字加入到第一名称空间,然后解释器通过__builtins__调用
形象的关系如下图
个人初步猜测是__builtin__模块的名字被加入到内建名称空间,然后解释器通过__builtins__模块调用它们,所以__builtins__不能被import,因为它是系统模块,而__builtin__可以被import,因为我们需要它提供内建函数,但是为什么解释器不直接调用__builtin__而是通过__builtins__来调用__builtin__的原因我还不得而知。