首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

Python26高级[包模块实例]

作者:  时间: 2011-04-26


一 实例和结果

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或module所在的目录必须在pythonpath环境变量中。

 

完!

作者: iTech 发表于 2011-04-26 19:13 原文链接

评论: 0 查看评论 发表评论


最新新闻:
· Windows 8全新的虚拟键盘、指针效果(2011-04-26 18:55)
· 世界最快计算机“天河一号”本周正式联网(2011-04-26 17:56)
· 8个优秀的jQuery Mobile 教程(2011-04-26 17:51)
· IT公司中最流行的10种编程语言(2011-04-26 17:43)
· Dropbox试图杀死开源项目Dropship(2011-04-26 17:38)

编辑推荐:面向对象实践之路-提升抽象层次

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库