一、实例和结果
1)实例的结构和具体的文件:
<br />PyPackage<br />│ PyCommonM.py<br />│ __init__.py<br />│<br />├─p1Package<br />│ P1M.py<br />│ P1MC.py<br />│ __init__.py<br />│<br />└─p2<br /> P2.py<br /> P2M.py<br />
2)PyCommonM.py
<br />def PyCommonMF(): print "PyCommonMF"<br />
3) P1M.py:
<br />def P1MF(): print 'P1MF'<br />
4)P1MC.py:
<br />class P1MC(): <br /> @staticmethod<br /> def P1MCF(): print 'P1MCF'<br />
5)P2M.py:
<br />def P2MF(): print 'P2MF'<br />
6) P2.py:
<br />import P2M<br />from PyPackage import PyCommonM<br />from PyPackage.p1Package import P1M<br />from PyPackage.p1Package.P1MC import P1MC
def P2F(): 本文来源gao@dai!ma.com搞$代^码!网7
print ‘P2F’
if __name__ == ‘__main__’:
P2F()
P2M.P2MF()
P1M.P1MF()
P1MC.P1MCF()
PyCommonM.PyCommonMF()
7) 运行p2.py的结果:
<br />P2F<br />P2MF<br />P1MF<br />P1MCF<br />PyCommonMF<br />
二、解释
* 一个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环境变量中。