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 相关文章推荐
Python实例分享:快速查找出被挂马的文件
Jun 08 Python
详解Python命令行解析工具Argparse
Apr 20 Python
对python 矩阵转置transpose的实例讲解
Apr 17 Python
Python 查找list中的某个元素的所有的下标方法
Jun 27 Python
Python实现Selenium自动化Page模式
Jul 14 Python
使用Filter过滤python中的日志输出的实现方法
Jul 17 Python
PyCharm中如何直接使用Anaconda已安装的库
May 28 Python
Python新手学习函数默认参数设置
Jun 03 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
Python selenium如何打包静态网页并下载
Aug 12 Python
区分python中的进程与线程
Aug 13 Python
地图可视化神器kepler.gl python接口的使用方法
Dec 22 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遍历数组的几种方法
2012/03/22 PHP
yii添删改查实例
2015/11/16 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
微信小程序 实例开发总结
2017/04/26 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
javascript 封装Date日期类实例详解
2017/05/28 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
jquery的 filter()方法使用教程
2018/03/22 jQuery
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
微信小程序开发的基本流程步骤
2019/01/31 Javascript
教你搭建按需加载的Vue组件库(小结)
2019/07/29 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
Javascript模块化机制实现原理详解
2020/04/02 Javascript
js编写简易的计算器
2020/07/29 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
django使用xlwt导出excel文件实例代码
2018/02/06 Python
使用 Python 实现微信群友统计器的思路详解
2018/09/26 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
python通过http下载文件的方法详解
2019/07/26 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
彪马法国官网:PUMA法国
2019/12/15 全球购物
Linux文件操作命令都有哪些
2016/07/23 面试题
毕业寄语大全
2014/04/09 职场文书
单位承诺书格式
2014/05/21 职场文书
人事主管岗位职责
2015/02/04 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python