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 相关文章推荐
35个Python编程小技巧
Apr 01 Python
2款Python内存检测工具介绍和使用方法
Jun 01 Python
NumPy 如何生成多维数组的方法
Feb 05 Python
Python定义二叉树及4种遍历方法实例详解
Jul 05 Python
python安装twisted的问题解析
Aug 21 Python
python学生信息管理系统(完整版)
Apr 05 Python
python判断输入日期为第几天的实例
Nov 13 Python
Python测试模块doctest使用解析
Aug 10 Python
pandas DataFrame运算的实现
Jun 14 Python
PyTorch-GPU加速实例
Jun 23 Python
TensorFlow中tf.batch_matmul()的用法
Jun 02 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 05 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
PHP网上调查系统
2006/10/09 PHP
PHP的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
php中的依赖注入实例详解
2019/08/14 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
2021/02/22 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
JS 树形递归实例代码
2010/05/18 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
[41:08]2014 DOTA2国际邀请赛中国区预选赛 HGT VS NE
2014/05/22 DOTA
python正则分组的应用
2013/11/10 Python
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
python递归函数绘制分形树的方法
2018/06/22 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
餐饮收银员岗位职责
2014/02/07 职场文书
超市开学活动方案
2014/03/01 职场文书
运动会新闻稿
2015/07/17 职场文书
我的收音机情缘
2022/04/05 无线电