Python中的包和模块实例


Posted in Python onNovember 22, 2014

一、实例和结果

1)实例的结构和具体的文件:

PyPackage

│  PyCommonM.py

│  __init__.py

│

├─p1Package

│      P1M.py

│      P1MC.py

│      __init__.py

│

└─p2

       P2.py

       P2M.py

2)PyCommonM.py

def PyCommonMF():  print "PyCommonMF"

3) P1M.py:

def P1MF():   print 'P1MF'

4)P1MC.py:

class P1MC(): 

  @staticmethod

  def P1MCF():  print 'P1MCF'

5)P2M.py:

def P2MF(): print 'P2MF'

6) P2.py:

import P2M

from PyPackage import PyCommonM

from PyPackage.p1Package import P1M

from PyPackage.p1Package.P1MC import P1MC
def P2F(): 

  print 'P2F'

  

if __name__ == '__main__':

  P2F()

  P2M.P2MF()

  P1M.P1MF()

  P1MC.P1MCF()

  PyCommonM.PyCommonMF()

7) 运行p2.py的结果:

P2F

P2MF

P1MF

P1MCF

PyCommonMF

二、解释

*  一个py文件为一个module,例如module: PyCommonM.py,P2M.py,P1MC.py, P1M.py 。
*  包含__init__.py的文件夹为一个package,例如package: PyPackage,p1Package。
*  可以直接使用import来引用相同目录下的其他的module, 例如p2.py中的import P2M。
*  通过from import来引用其他的目录下且属于某个package的module,例如py.py中的from PyPackage import PyCommonM 和 from PyPackage.p1Package import P1M。
*  通过from import来引用某个module中的类,例如from PyPackage.p1Package.P1MC import P1MC

注意package所在的目录必须在pythonpath环境变量中。

Python 相关文章推荐
python嵌套函数使用外部函数变量的方法(Python2和Python3)
Jan 31 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
Jul 06 Python
tensorflow 使用flags定义命令行参数的方法
Apr 23 Python
Linux CentOS Python开发环境搭建教程
Nov 28 Python
python 将有序数组转换为二叉树的方法
Mar 26 Python
python中的句柄操作的方法示例
Jun 20 Python
django的auth认证,authenticate和装饰器功能详解
Jul 25 Python
利用python控制Autocad:pyautocad方式
Jun 01 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
Jul 30 Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 Python
python3.8动态人脸识别的实现示例
Sep 21 Python
Python实现自动玩连连看的脚本分享
Apr 04 Python
Python动态加载模块的3种方法
Nov 22 #Python
收集的几个Python小技巧分享
Nov 22 #Python
Python获取Windows或Linux主机名称通用函数分享
Nov 22 #Python
Python中使用glob和rmtree删除目录子目录及所有文件的例子
Nov 21 #Python
Python中使用SAX解析xml实例
Nov 21 #Python
python sort、sorted高级排序技巧
Nov 21 #Python
python中global与nonlocal比较
Nov 21 #Python
You might like
php实现随机生成易于记忆的密码
2015/06/19 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
2018/05/28 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
基于python的汉字转GBK码实现代码
2012/02/19 Python
python发送伪造的arp请求
2014/01/09 Python
Python入门篇之面向对象
2014/10/20 Python
利用Python绘制数据的瀑布图的教程
2015/04/07 Python
Django中使用locals()函数的技巧
2015/07/16 Python
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
PyCharm代码格式调整方法
2018/05/23 Python
django query模块
2019/04/20 Python
详解python中的hashlib模块的使用
2019/04/22 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
python实现银行账户系统
2021/02/22 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
Debenhams百货英国官方网站:Debenhams UK
2016/07/12 全球购物
珍珠鸟教学反思
2014/02/01 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
护理专业自荐信范文
2015/03/06 职场文书
大学生思想道德自我评价
2015/03/09 职场文书