Python import 动作解析笔记

Python中使用 import 指令可以导入模块和包。import 导入模块时通常执行如下动作:

1、在sys.modules中查找模块:

在sys.modules查找指定模块,如果有则不做任何动作(模块只导入一次,再次执行import 不做任何动作,除非除非强制reload)。如果sys.modules中没有,则导入模块。

模块导入开销(耗时)较大,所以Python默认一个模块只导入一次,对一个模块执行两次导入动作,后面的导入不做任何动作。

2、搜索模块:

导入模块首先要在“搜索路径”中搜索模块文件,如果找到则加载模块,如果搜捕不到则报错。

搜索模块的路径及搜索顺序为:

注:以上路径会被Python解释器加载到sys.path目录中,Python解释器会按照sys.path记录的路径进行搜索。

3、加载模块,并执行顶层代码:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180316A1VE3000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券