模块的导入顺序细节

模块导入过程分析

第一次导入的优厚待遇:
1、将被导入模块进行预编译,形成相对应的pyc文件。
2、进入被导入模块,执行模块文件内部代码,同时生成模块相对应的全局名称空间。
3、在使用模块的文件中,产生一个与模块名同名的变量,指向模块的全局名称空间。
非第一次导入的待遇:
只会进行第三部操作:在使用模块的文件中,产生一个与模块名同名的变量,指向模块的全局名称空间。


模块的导入细节

首先

1、模块分类:第一类:内置模块(built-in);第二类:自定义模块其中,包括(系统提供的lib文件下)的第三方提供,自定义的py文件模块。
2、 模块的加载顺序:内存中的模块-内置模块-sys.path下的文件。

模块和包等同理论:包就是包含一个__init__的文件,用来跳转到模块,__init__可以看为一个模块,所以包就等同于一个模块,所以包和模块同等的对待即可。

原文地址:https://www.cnblogs.com/zhangte03/p/10863160.html