Python中使用 import 指令可以导入模块和包。import 导入模块时通常执行如下动作:
1、在sys.modules中查找模块:
在sys.modules查找指定模块,如果有则不做任何动作(模块只导入一次,再次执行import 不做任何动作,除非除非强制reload)。如果sys.modules中没有,则导入模块。
模块导入开销(耗时)较大,所以Python默认一个模块只导入一次,对一个模块执行两次导入动作,后面的导入不做任何动作。
2、搜索模块:
导入模块首先要在“搜索路径”中搜索模块文件,如果找到则加载模块,如果搜捕不到则报错。
搜索模块的路径及搜索顺序为:
注:以上路径会被Python解释器加载到sys.path目录中,Python解释器会按照sys.path记录的路径进行搜索。
3、加载模块,并执行顶层代码:
领取专属 10元无门槛券
私享最新 技术干货