当前位置:  开发笔记 > 编程语言 > 正文

import的本质解析

import是我们经常使用的功能,方法大家也都会。虽然用的多,但它的本质我们似乎没有好好的了解过。本文就import的本质解析,向大家作了介绍,需要的朋友可以参考下。

上一篇文章中我们介绍了python中hashlib模块用法示例,详情参见:https://www.jb51.net/article/127103.htm。今天我们看看import的有关内容。

编程时总是用到import导入,动不动就导入,很简单,但import到底是个什么功能,它的本质是什么?

一. 模块:用来从逻辑上来组织python代码(变量,函数,类,逻辑,实现一个功能),本质就是,py结尾的python文件

1.1 导入方法:

  import module
  import module1, module2
  from module import logger
  from module import logger as frank

1.2 导入的本质: 把python文件解释一遍

1.3  import module_name

      实际上相当于 module_name 的所有代码复制与此, 当要使用时,取用其中的变量和函数 module_name.name,  module_name.logger

1.4  from module_name import name

       实际上相当于将module_name 中 name 那部分代码复制与此,便可以直接引用 name='alex', 直接可以调用 变量 name

二. 包:从逻辑上组织模块的,本质就是一个目录,(一个带有_init_.py 文件的目录)

1.1 导入的本质: 就是执行该包目录下的_init_.py 文件

1.2 导入优化:

实例 , 下面的代码需要来不停地调用 module_test 这个模块, 若有200个这样的调用,就得来来回回地找,影响效率, 此时可以将 "import module_test" 转化为 “from module_test import test”

def logger(): 
 module_test.test()
 print(' in the logger')
def search():
 module_test.test()
 print("in the search")

总结

以上就是本文关于import的本质解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:浅谈Python由__dict__和dir()引发的一些思考、13个最常用的Python深度学习库介绍等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有