包(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