一、实例和结果
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环境变量中。