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写的图片蜘蛛人代码
Aug 27 Python
Python set集合类型操作总结
Nov 07 Python
python创建和删除目录的方法
Apr 29 Python
在Python的Django框架中simple-todo工具的简单使用
May 30 Python
Python函数式编程指南(一):函数式编程概述
Jun 24 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
Jan 15 Python
Flask框架各种常见装饰器示例
Jul 17 Python
python3结合openpyxl库实现excel操作的实例代码
Sep 11 Python
Python实现图片批量加入水印代码实例
Nov 30 Python
Python 内置变量和函数的查看及说明介绍
Dec 25 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
python基于selenium爬取斗鱼弹幕
Feb 20 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
让你的网站首页自动选择语言转跳
2006/12/06 PHP
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
JavaScript中的迭代器和生成器详解
2014/10/29 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
Bootstrap表单控件学习使用
2017/03/07 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
python初步实现word2vec操作
2020/06/09 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
python如何变换环境
2020/07/21 Python
Python reques接口测试框架实现代码
2020/07/28 Python
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
会计岗位描述
2014/02/22 职场文书
成绩单公证书
2014/04/10 职场文书
儿童生日会策划方案
2014/05/15 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
Python实现抖音热搜定时爬取功能
2022/03/16 Python
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL