python中的包
模块化开发的问题
当项目规模日益增大时,一个项目文件中的 Python文件会无限制增加,尽管模块化开发解决了一个文件中代码过多的问题(将代码按照不同功能拆分到多个文件中,每个文件中的代码足够简单),不可避免的又出现了一个文件夹下 Python文件过多的问题,此时查询某个文件时就不太方便!
如果一个项目中,包含了大量的 Python文件/模块,存在两个问题:
- Python模块过多,导致某个模块查找不方便【大型项目】
- 项目中多个角色的模块,出现了命名冲突的问题【管理员视图模块和会员视图模块】
- 两个模块都成为 views.py,一个文件夹中不可能出席那两个同名的文件
- 妥协命名,管理员视图:admin_view.py,会员:customer_views.py
解决方案: 个人电脑上一个文件夹包含大量文件时,需要将不同类型的文件存放到不同的文件夹中,类似的,Python中提供了模块包(包含模块的文件夹)将不同功能的模块存放在不同的文件夹中。
Python 中的包
python中的包,是模块包,程序包的简称,主要是用来包含多个相同相似功能的 python模块的文件夹。
Python 语法规则中定义的包,也是一个文件夹,文件夹中需要包含一个包的声明模块: __init__.py
(这是一个空白的 python文件
包的引入方式
# 1. 直接从包中引入模块
from 包 import 模块
# 2. 别名引入
from 包 import 模块 as 别名
# 3. 直接引入包-模块中的变量,函数
from 包.模块 import 变量,函数
# 4. 直接引入包
# 引入包中 __init__.py 文件中指定的模块,没有指定的模块不会被引入
import 包
# 5. 引入包中的所有内容
# 引入包中 __init__.py 文件中 __all__ 列表指定的模块,其它模块不引入
from 包 import *
# 6. 引入外部其它路径中的包
# 将指定的路径添加到查询路径中,就可以引入这个路径中的模块
import sys
sys.path.append("指定的路径")