__init__.py的作用
拥有 init.py 文件的文件夹被视为包(模块),可以通过 import 正常导入包内的文件,否则,会报 ImportError 错误。
当 import 包或包内模块的时候,会先执行 init.py 文件中的代码,因此可以通过 init.py 组织包内各个子模块,然后在包外文件导入它们时更加方便简洁。我们来看一个例子:
目录结构如下:
1 | - app |
add.py
1 | def add(a, b): |
sub.py
1 | def sub(a, b): |
main.py
1 | from app.add import add |
接下来我们在 init.py 中写一些代码:
1 | from .add import add |
那此时 main.py 中就可以这样写:
1 | from app import add, sub |