import的本质解析


Posted in Python onOctober 30, 2017

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

Python 相关文章推荐
Python写的创建文件夹自定义函数mkdir()
Aug 25 Python
Python基于PycURL自动处理cookie的方法
Jul 25 Python
Python中getpass模块无回显输入源码解析
Jan 11 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
Jun 28 Python
python版百度语音识别功能
Jul 09 Python
python实现函数极小值
Jul 10 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 Python
python实现的生成word文档功能示例
Aug 23 Python
python读取csv文件指定行的2种方法详解
Feb 13 Python
Python virtualenv虚拟环境实现过程解析
Apr 18 Python
用 Python 制作地球仪的方法
Apr 24 Python
python中hashlib模块用法示例
Oct 30 #Python
浅谈Python由__dict__和dir()引发的一些思考
Oct 30 #Python
Android分包MultiDex策略详解
Oct 30 #Python
Python 判断是否为质数或素数的实例
Oct 30 #Python
基于Python __dict__与dir()的区别详解
Oct 30 #Python
浅谈使用Python变量时要避免的3个错误
Oct 30 #Python
Python中进程和线程的区别详解
Oct 29 #Python
You might like
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
php的4种常用运行方式详解
2016/12/22 PHP
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
修改UA在PC中访问只能在微信中打开的链接方法
2017/11/27 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
jQuery 移除事件的方法
2020/06/20 jQuery
[01:05]DOTA2完美大师赛趣味视频之选手教你打职业
2017/11/23 DOTA
python使用super()出现错误解决办法
2017/08/14 Python
Python中的heapq模块源码详析
2019/01/08 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
英国在线药房:Express Chemist
2019/03/28 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
本科生个人求职自荐信
2013/09/26 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
岗位职责说明书
2014/05/07 职场文书
奖励通知
2015/04/22 职场文书
辞职离别感言
2015/08/04 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书