zoukankan      html  css  js  c++  java
  • python语法31[包模块实例]


    一 实例和结果

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

    完!

  • 相关阅读:
    TCP报文发送工具
    Java基础—注解的使用
    STM32以太网ETH
    EC20 minipcie版4g模块开发笔记
    usb端点(endpoint)知识详解
    STM32 usb_mem.c和usb_sil.c文件的分析
    USB的中断说明
    STM32 可编程电压监测器(PVD)实现数据掉电保存
    关于FSMC地址线的理解
    STM32F4—fsmc的配置步骤
  • 原文地址:https://www.cnblogs.com/itech/p/2029587.html
Copyright © 2011-2022 走看看