Module, Package in Python

1.To put it simple, Module是写好的一系列函数或变量,文件以.py为后缀,可以在其他Module中整体或部分引用。

    PS: 在Module中[结尾或开头]加入if __name__ == "__main__": import sys fib(int(sys.argv[1])),因为每个Module都有一个全局变      量"__name__"代表此Module名[im not so sure],所以这句话的意思就是,如果单独运行这个Module的话,他就是主程序,因此判断下边的语句会执行。而当此module被引用到其他module里边的时候,这个就不被执行,主程序已改变。good explanation: http://www.effbot.org/pyfaq/tutor-what-is-if-name-main-for.htm

2.Package:组织Module命名空间的一种方法[使用"."],如:

sound/                          Top-level package
      __init__.py               Initialize the sound package
      formats/                  Subpackage for file format conversions
              __init__.py
              wavread.py
              wavwrite.py
              aiffread.py
              aiffwrite.py
              auread.py
              auwrite.py
              ...
      effects/                  Subpackage for sound effects
              __init__.py
              echo.py
              surround.py
              reverse.py
              ...
      filters/                  Subpackage for filters
              __init__.py
              equalizer.py
              vocoder.py
              karaoke.py

  当引用这个package的时候,Python会在sys.path上搜索子路径,所以需要将某个目录当成package的话,__init__.py是必须要有的,就是一个placeholder,不过也可以有代码。

    refers to docs online: http://docs.python.org/2/tutorial/modules.html#packages [good docs explanation]

原文地址:https://www.cnblogs.com/paul-cheung/p/3204061.html