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字符串格式化输出方法分析
Apr 13 Python
常见的python正则用法实例讲解
Jun 21 Python
Python基于pillow判断图片完整性的方法
Sep 18 Python
Python使用matplotlib绘制三维图形示例
Aug 25 Python
Python爬虫——爬取豆瓣电影Top250代码实例
Apr 17 Python
python 实现多线程下载视频的代码
Nov 15 Python
python实现名片管理器的示例代码
Dec 17 Python
python异常处理、自定义异常、断言原理与用法分析
Mar 23 Python
Python基于Tkinter编写crc校验工具
May 06 Python
Keras Convolution1D与Convolution2D区别说明
May 22 Python
Python实现对word文档添加密码去除密码的示例代码
Dec 29 Python
Python实现单例模式的5种方法
Jun 15 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
PHP 事件机制(2)
2011/03/23 PHP
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
如何使用Jquery获取Form表单中被选中的radio值
2013/08/09 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
《JavaScript函数式编程》读后感
2015/08/07 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
2017/03/08 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
vue实现评价星星功能
2020/06/30 Javascript
python实现zabbix发送短信脚本
2018/09/17 Python
python3 property装饰器实现原理与用法示例
2019/05/15 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
财务副总经理工作职责
2013/11/25 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
专家推荐信怎么写
2015/03/25 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
关于保护环境的建议书
2019/06/24 职场文书
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js