python中的包

模块化开发的问题

当项目规模日益增大时,一个项目文件中的 Python文件会无限制增加,尽管模块化开发解决了一个文件中代码过多的问题(将代码按照不同功能拆分到多个文件中,每个文件中的代码足够简单),不可避免的又出现了一个文件夹下 Python文件过多的问题,此时查询某个文件时就不太方便!

如果一个项目中,包含了大量的 Python文件/模块,存在两个问题:

  • Python模块过多,导致某个模块查找不方便【大型项目】
  • 项目中多个角色的模块,出现了命名冲突的问题【管理员视图模块和会员视图模块】
    • 两个模块都成为 views.py,一个文件夹中不可能出席那两个同名的文件
    • 妥协命名,管理员视图:admin_view.py,会员:customer_views.py

解决方案: 个人电脑上一个文件夹包含大量文件时,需要将不同类型的文件存放到不同的文件夹中,类似的,Python中提供了模块包(包含模块的文件夹)将不同功能的模块存放在不同的文件夹中。

Python 中的包

python中的包,是模块包,程序包的简称,主要是用来包含多个相同相似功能的 python模块的文件夹。

Python 语法规则中定义的包,也是一个文件夹,文件夹中需要包含一个包的声明模块: __init__.py(这是一个空白的 python文件

包的引入方式

# 1. 直接从包中引入模块
fromimport 模块

# 2. 别名引入
fromimport 模块 as 别名

# 3. 直接引入包-模块中的变量,函数
from.模块 import 变量,函数

# 4. 直接引入包
# 引入包中 __init__.py 文件中指定的模块,没有指定的模块不会被引入
import# 5. 引入包中的所有内容
# 引入包中 __init__.py 文件中 __all__ 列表指定的模块,其它模块不引入
fromimport *

# 6. 引入外部其它路径中的包
# 将指定的路径添加到查询路径中,就可以引入这个路径中的模块
import sys
sys.path.append("指定的路径")