使用python模块和库的小伙伴应该都知道python之中去导入一个模块的时候使用的import这个语法,但是却很少有人知道python之中还有一个和它很像的函数叫做__import__()。那这一篇文章就会从执行过程的角度来分析它们的区别,往下看看吧。
(1)import导入模块的时候会先在整个python程序和本地的文件夹之中去搜索有没有整个模块,如果有的话就将其绑定到局部变量上就可以用了。那么绑定这一步是由import这个关键词所指向的方法去完成的,但是在搜索模块这一步是调用__import__()来做的。
(2)在搜索这个模块是否存在的时候会先从缓存sys.modules中去找,因为如果是已经在当前项目里使用过的模块会存在缓存之中。缓存之中没有的话会将这个模块的名称放在缓存中后返回一个ModuleNotFoundError的异常,有的话就会生成一个module-spec并执行模块。
(3)缓存之中没找到之后又会让importers找,这个importers指的就是系统文件的路径压缩包等等,会根据查找的结果返回相应的值。
也就是说import和__import__()这两个是调用和被调用的关系,它们的区别在于一个表现形式为可以直接使用的关键词,另一个则是不可以去手动使用的内置函数。
以上就是关于“Python中import和_import_()区别是什么?从执行过程去理解”的全部内容了,想要了解更多python的实用知识和代码示例可以持续关注这个频道,每次更新都会有很多新的知识技术分享给大家。
更多python相关文章请访问分类:python
【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。