python中的包和模块实例

一、实例和结果

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环境变量中。

Posted in 未分类

发表评论