Python模块、包(Package)概念与用法分析


Posted in Python onMay 31, 2019

本文实例讲述了Python模块、包(Package)概念与用法。分享给大家供大家参考,具体如下:

Python中”模块”的概念

在开发中,我们会有很多函数,我们可以把这些函数都放到一个文件。

比如function.py中:

#定义函数
def show():
  print("jack")
#定义变量
name = "tom"

在其他地方要使用其中的函数怎么办呢?

第一步:需要先引入

import funtions

第二步:通过文件名.函数名/变量名的方式使用

funtions.show() # jack
print(funtions.name) # tom

另外一种导入方式

#另外一种导入方式
from funtions import *
show() # jack
print(name) #tom

要比较2种引入方式背后有什么不同,可以使用下面的方法

#打印局部变量符号表
print(locals())
#打印全局变量符号表
print(globals())

Python中包(Package)的概念

Package可以用来管理模块(同名的模块放入不同的包就不冲突了),要理解这个概念可以结合命名空间作用来理解。

创建Package:

在IDE中,右键->new->Python Package

创建之后会同时创建一个名叫__init__.py的文件,文件内容是空的。

这个__init__.py文件的作用可以认为是用来识别这个是一个包,而不是普通目录。

Python模块、包(Package)概念与用法分析

把我们的模块(公共函数funcitons.py)文件 放入这个包中,那么在引入这个模块的文件时候就不一样了:

#引入地址 包名.文件名
import common.funtions

这种引入方式我们要使用里面的函数:

common.funtions.show()

诶,这种方式怎么这么繁琐?

别急,我们还有一种引入方式呢。

from common.funtions import *
show() # 直接使用函数

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
轻量级的Web框架Flask 中模块化应用的实现
Sep 11 Python
python删除文本中行数标签的方法
May 31 Python
对Pyhon实现静态变量全局变量的方法详解
Jan 11 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
python cumsum函数的具体使用
Jul 29 Python
用django设置session过期时间的方法解析
Aug 05 Python
阿里云ECS服务器部署django的方法
Aug 29 Python
基于Python爬虫采集天气网实时信息
Jun 05 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
Jun 08 Python
python分布式爬虫中消息队列知识点详解
Nov 26 Python
Python命令行参数定义及需要注意的地方
Nov 30 Python
一文搞懂如何实现Go 超时控制
Mar 30 Python
python多线程下信号处理程序示例
May 31 #Python
浅谈Python大神都是这样处理XML文件的
May 31 #Python
Python2.7实现多进程下开发多线程示例
May 31 #Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 #Python
一文了解Python并发编程的工程实现方法
May 31 #Python
Python微信操控itchat的方法
May 31 #Python
python基于SMTP协议发送邮件
May 31 #Python
You might like
php2html php生成静态页函数
2008/12/08 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
php中memcache 基本操作实例
2015/05/17 PHP
JQquery的一些使用心得分享
2012/08/01 Javascript
使用闭包对setTimeout进行简单封装避免出错
2013/07/10 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
Select2.js下拉框使用小结
2016/10/24 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
2014/11/19 Python
python实现比较两段文本不同之处的方法
2015/05/30 Python
在Django中限制已登录用户的访问的方法
2015/07/23 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
浅谈Python中(&,|)和(and,or)之间的区别
2019/08/07 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
Python批量获取并保存手机号归属地和运营商的示例
2020/10/09 Python
python 多线程中join()的作用
2020/10/29 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
C#可否对内存进行直接的操作
2015/02/26 面试题
毕业生就业自荐信
2013/12/04 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
网络管理员岗位职责
2015/02/12 职场文书
对Keras自带Loss Function的深入研究
2021/05/25 Python
pandas进行数据输入和输出的方法详解
2022/03/23 Python