包(Package)Python组织模块的方式。简单来说,包就是一个包含多个模块的文件夹,并且这个文件夹中必须包含一下__init__.py文件(Python 3.3之前是必须required/mandatory,后面版本变为可选optional)

优点:

  • 避免模块命名冲突:不同的包可以有相同名字的模块
  • 模块组织更清晰:便于管理大型项目
  • 支持层次结构:可以创建子包

创建包 Package

一个包的架构大致如下:

mypackage / |-- __init__.py |-- module1.py |-- module2.py |-- subpackage |-- __init__.py |-- submodule.py

Package

__init__.py 的作用

  • 使Python识别 identify MyPackage目录为包
  • 可以用于执行初始化代码,例如导入包内的特定模块

如上图,MyModule.pyMyPackage包内:

# __init__.py print('MyPackage is imported.')
  • 控制from MyPackage import *的行为

如何在一个包中导入另一个包的模块

需要借助sysos两个模块

import sys import os sys.path.append(os.path.dirname(os.path.dirname(__file__))) import MyPackage.MyModule as m print(m.__name__) print(__name__) print(m.pi) print(m.area(10)) s = m.Shape("Circle") print(s.myname())

安装pip

  • 安装第三方包,第三方是指除了开发人员本身和已经下载的Python之外的人提供的包
pip install requests