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 相关文章推荐
flask中使用SQLAlchemy进行辅助开发的代码
Feb 10 Python
python定时器(Timer)用法简单实例
Jun 04 Python
实例讲解Python中global语句下全局变量的值的修改
Jun 16 Python
Python 转义字符详细介绍
Mar 21 Python
TensorFlow实现MLP多层感知机模型
Mar 09 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
python如何为被装饰的函数保留元数据
Mar 21 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
Nov 07 Python
使用Python爬虫库requests发送表单数据和JSON数据
Jan 25 Python
python实现打砖块游戏
Feb 25 Python
python针对Oracle常见查询操作实例分析
Apr 30 Python
Python Django form 组件动态从数据库取choices数据实例
May 19 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
农民C键的运用技巧
2020/03/04 星际争霸
自己写了一个php检测文件编码的函数
2014/04/21 PHP
php实现斐波那契数列的简单写法
2014/07/19 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
python服务器与android客户端socket通信实例
2014/11/12 Python
Python使用email模块对邮件进行编码和解码的实例教程
2016/07/01 Python
正确理解python中的关键字“with”与上下文管理器
2017/04/21 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
Flask配置Cors跨域的实现
2019/07/12 Python
Django model update的多种用法介绍
2020/03/28 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
国庆节促销广告语2014
2014/09/19 职场文书
《假如》教学反思
2016/02/17 职场文书
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL