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 相关文章推荐
9种python web 程序的部署方式小结
Jun 30 Python
Python编程修改MP3文件名称的方法
Apr 19 Python
python实现随机梯度下降(SGD)
Mar 24 Python
在NumPy中创建空数组/矩阵的方法
Jun 15 Python
Django进阶之CSRF的解决
Aug 01 Python
python实现换位加密算法的示例
Oct 14 Python
python 划分数据集为训练集和测试集的方法
Dec 11 Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 Python
python 整数越界问题详解
Jun 27 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
Feb 11 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
python3获取控制台输入的数据的具体实例
Aug 16 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读取xml实例代码
2010/01/28 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
如何使用PHP计算上一个月的今天
2013/05/23 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
详解vue父子组件关于模态框状态的绑定方案
2019/06/05 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
[02:27]2018DOTA2亚洲邀请赛趣味视频之钓鱼大赛 谁是垂钓冠军?
2018/04/05 DOTA
Python中的元类编程入门指引
2015/04/15 Python
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
利用python进行文件操作
2020/12/04 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
西班牙最大的在线滑板和街头服饰商店:Fillow.net
2019/04/15 全球购物
大学生入党思想汇报
2014/01/14 职场文书
家长给老师的感谢信
2015/01/20 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
2016年感恩节寄语
2015/12/07 职场文书
导游词之韩国济州岛
2019/10/28 职场文书