0%

python 模块

python 模块

  1. 一个 python 文件就是一个模块 Module
  2. 为了避免模块名重名问题,因此包 Package,按照目录来组织管理 Module
  3. 每一个 Package 目录下必须存在一个 __init__.py 文件,可以是空文件。否则会被视为普通目录
  4. __init__.py 也是 Module,模块名为目录名
    mycompany
    ├─ web
    │  ├─ __init__.py
    │  ├─ utils.py
    │  └─ www.py
    ├─ __init__.py
    ├─ abc.py
    └─ xyz.py
    webmycompany 均为 Package.py 均为 Module
    文件 www.py 模块名为 mycompany.web.www , abc.py 模块名为 mycompany.abc
  5. __xxx__ 这类变量是特殊变量,例如 __name____author__
  6. _xxx__xxx 这样的函数或变量就是非公开的(private),不应该被直接引用
  7. 特殊变量 __name__ , 当在命令行运行此模块时,Python 解释器会将 __name__ 置为 __main__ , 如果在其他地方导入模块时, __name__ 不为 __main__
    if __name__=='__main__':
     test()

    这种 if 测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试