python 包的基础概念
1、包(模块包) package
包是将模块以文件夹的组织形式进行分组管理的管理方法
作用:
【1】将一系列模块进行分类管理,有利于防止命名冲突
【2】可以在需要时加载一个或部分模块则不是全部模块
2、包示例
mypack/
__init__.py
menu.py
games/
__init__.py
contra.py
supermario.py
tanks.py
office/
__init__.py
word.py
excel.py
powerpoint.py
3、__init__.py 文件
【1】__init__.py是常规包内必须存在的文件
【2】__init__.py会在包加载时自动调用
作用:
【1】 编写此包的内容
【2】 在内部填写文档字符串
【3】 在__init__.py文件内可以加载此包所依懒的一些其它模块
4、包的导入
包的导入 同模块的导入规则
【1】# import 语句
import 包名 [as 包新名]
import 包名.模块名 [as 模块新名]
import 包名.子包名.模块名 [as 模块新名]
【2】# from import语句 from 包名 import 模块名 [as 模块新名]
from 包名.子包名 import 模块名 [as 模块新名]
from 包名.子包名.模块名 import 属性名 [as 属性新名]
【3】# from import *语句 from 包名 import *
from 包名.模块名 import * ...
5、导入包时的索引路径顺序
【1】 搜索程序的当前路径
【2】 sys.path 提供的路径
6、包的相对导入
包的相对导入是指包内模块的相互导入
语法:
from 相对路径包或模块 import 属性或模块名
from 相对路径包或模块 import *
相对路径
. 代表当前目录
.. 代表上一级目录
... 代表上二级目录
.... 以此类推
注: 相对导入时不能超出包的外部