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程序与C程序的结合使用
Apr 07 Python
python PIL模块与随机生成中文验证码
Feb 27 Python
python入门基础之用户输入与模块初认识
Nov 14 Python
使用Python制作微信跳一跳辅助
Jan 31 Python
pandas 数据实现行间计算的方法
Jun 08 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
Python缓存技术实现过程详解
Sep 25 Python
给 TensorFlow 变量进行赋值的方式
Feb 10 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 Python
如何使用Python自动生成报表并以邮件发送
Oct 15 Python
Spy++的使用方法及下载教程
Jan 29 Python
Python tkinter之Bind(绑定事件)的使用示例
Feb 05 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中文分词系统SCWS安装和使用实例
2014/04/11 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
jQuery动态地获取系统时间实现代码
2013/05/24 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
2018/10/25 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
[02:09]抵达西雅图!中国军团加油!
2014/07/07 DOTA
Python  连接字符串(join %)
2008/09/06 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
入党思想汇报
2014/01/05 职场文书
高三学生评语大全
2014/04/25 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
工作年限证明模板
2014/11/01 职场文书
2014会计年终工作总结
2014/12/20 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android