第44集:包的概念与使用
学习目标
- 理解Python包的概念
- 掌握包的创建方法
- 学会使用__init__.py文件
- 掌握包的导入方式
- 理解包的命名空间
一、什么是包?
包是包含多个模块的目录,目录中必须包含一个__init__.py文件。
包的结构
mypackage/
├── __init__.py # 包的初始化文件
├── module1.py # 模块1
├── module2.py # 模块2
└── submodule/ # 子包
├── __init__.py
└── module3.pyinit.py的作用
# __init__.py
"""
这是我的包
"""
# 包初始化时执行的代码
print("包初始化中...")
# 可以在__init__中导入模块
from .module1 import func1
from .module2 import func2
# 定义包级别的变量
__version__ = "1.0.0"二、导入包和模块
示例1:导入整个包
import mypackage
# 使用包中的模块
mypackage.module1.func1()
mypackage.module2.func2()示例2:从包中导入模块
from mypackage import module1, module2
# 直接使用
module1.func1()
module2.func2()示例3:从包中导入特定函数
from mypackage.module1 import func1
# 直接使用
func1()示例4:使用别名
import mypackage.module1 as m1
from mypackage.module2 import func2 as f2
m1.func1()
f2()三、实际应用
案例:工具包
utils/
├── __init__.py
├── string.py
├── math.py
└── file.py# 使用工具包
from utils.string import reverse, to_upper
from utils.math import average, max_value
from utils.file import read_file, write_file四、课后练习
练习1
创建一个包含多个模块的工具包。
练习2
在包中组织相关的函数和类。
练习3
使用__init__.py简化包的导入。
练习4
创建嵌套的包结构。
练习5
在包中定义包级别的变量和常量。