第44集:包的概念与使用

学习目标

  • 理解Python包的概念
  • 掌握包的创建方法
  • 学会使用__init__.py文件
  • 掌握包的导入方式
  • 理解包的命名空间

一、什么是包?

是包含多个模块的目录,目录中必须包含一个__init__.py文件。

包的结构

mypackage/
├── __init__.py          # 包的初始化文件
├── module1.py           # 模块1
├── module2.py           # 模块2
└── submodule/           # 子包
    ├── __init__.py
    └── module3.py

init.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

在包中定义包级别的变量和常量。

« 上一篇 自定义模块 下一篇 » 异常处理基础-try-except