Home  >  Article  >  Backend Development  >  Python中的包和模块实例

Python中的包和模块实例

WBOY
WBOYOriginal
2016-06-06 11:21:111258browse

一、实例和结果

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn