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操作json数据的一个简单例子
Apr 17 Python
Python map和reduce函数用法示例
Feb 26 Python
python插入数据到列表的方法
Apr 30 Python
python网络爬虫学习笔记(1)
Apr 09 Python
python实现抖音视频批量下载
Jun 20 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
Jul 04 Python
用python生成与调用cntk模型代码演示方法
Aug 26 Python
TensorFlow 显存使用机制详解
Feb 03 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
python 调用API接口 获取和解析 Json数据
Sep 28 Python
分享unittest单元测试框架中几种常用的用例加载方法
Dec 02 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面向对象之事务脚本模式(详解)
2017/06/07 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
鼠标选择动态改变网页背景颜色的JS代码
2013/12/10 Javascript
JQuery CheckBox(复选框)操作方法汇总
2015/04/15 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
[01:44]Ti10举办地公布
2019/08/25 DOTA
python操作日期和时间的方法
2014/03/11 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
python一键去抖音视频水印工具
2018/09/14 Python
python学生管理系统
2019/01/30 Python
python队列Queue的详解
2019/05/10 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
python实现按日期归档文件
2021/01/30 Python
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
本科毕业生自我鉴定
2013/11/02 职场文书
征兵宣传标语
2014/06/20 职场文书
作风转变年心得体会
2014/10/22 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
家电创业计划书
2019/08/05 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang
React Fragment介绍与使用详解
2021/11/11 Javascript
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL
Pillow图像处理库安装及使用
2022/04/12 Python