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利用elaphe制作二维条形码实现代码
May 25 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
python实现csv格式文件转为asc格式文件的方法
Mar 23 Python
解决Python pandas df 写入excel 出现的问题
Jul 04 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
Oct 21 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
用python写一个定时提醒程序的实现代码
Jul 22 Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 Python
PyTorch学习:动态图和静态图的例子
Jan 06 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
Python Django路径配置实现过程解析
Nov 05 Python
Python可视化学习之seaborn绘制矩阵图详解
Feb 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
php桌面中心(三) 修改数据库
2007/03/11 PHP
一个PHP分页类的代码
2011/05/18 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
vue-cli脚手架引入图片的几种方法总结
2018/03/13 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
python实现的守护进程(Daemon)用法实例
2015/06/02 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
Python3读取和写入excel表格数据的示例代码
2020/06/09 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
简历的自我评价
2014/02/03 职场文书
共产党员公开承诺书
2014/03/25 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
结婚典礼主持词
2015/06/29 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL
详解Python中*args和**kwargs的使用
2022/04/07 Python
DQL数据查询语句使用示例
2022/12/24 MySQL