包(Package)是一种层次化的程序组织结构,由一系列的子包和模块组成, 包和模块最大的区别就在于包通常由模块和__init__.py
文件组成。
__init_.py
是一个初始化模块,Python在首次导入某个目录的时候,会自动执行该文件中的所有代码。
示例如下。
- 创建包如下。p1和p2下各有一个
__init_.py
文件。
- 在p1的
__init_.py
文件中写入如下代码。
# p1目录下的初始化文件
print('我是p1的初始化文件')
- 在在p2的
__init_.py
文件中写入如下代码。
# p2目录下的初始化文件
print('我是p2的初始化文件')
- 在p1的同级目录下创建一个新的文件,引入p2,会输出如下。
# p1的同级目录文件
import p1.p2
运行该文件输出如下。
我是p1的初始化文件
我是p2的初始化文件
证实,引入一个包时,他的初始化文件会被执行。