import的本质解析
上一篇文章中我们介绍了python中hashlib模块用法示例,详情参见:http://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深度学习库介绍等,有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对本站的支持!