1.Python运行时全局module pool机制
sys.modules 是一个字典,它包含了从Python 开始运行起,被导入的所有模块。键字就是模块名,键值就是模块对象。请注意除了你的程序导入的模块外还有其它模块。Python 在启动时先装入了一些模块,如果你在一个Python IDE 环境下,sys.modules 包含你在IDE 中运行的所有程序所导入的所有模块。初始化时预先加载到内存的module 和被动态加载的用户自定义module都存放在sys.modules中,sys.modules就是Python系统的module集中营。module对象内部实际上是通过一个dict维护所有的(属性,属性值)。
import并不完全等同于我们所熟知的“动态加载”的概念,它的真实韩图是希望某个 module能够被感知,即是将这个module以某个符号的形式引入到某个名字空间。如果import等于动态加载,python将对同一个module执行多次动态加载,并且在内存中保存一个module的多个映像,显然不