参考原文: https://www.cnblogs.com/AlwinXu/p/5598543.html
引言: 在实际的Python项目开发中, 我们免不了编写一些依赖包。这时候 正确地理解并使用__init__.py 文件会让我们的项目开发变成便捷许多。__init__.py的最主要作用有:
1、作为Python的package的标识
在创建python包(package)的过程中,IDE都会在包根目录下创建一个__init__.py 文件,该Python文件默认是空的。
每个package实际上是一个目录(Directory),那么IDE是怎么识别它为package的呢 —— __init__.py的第一个作用就是package的标识,如果没有该文件,该目录就不会认为是package。
2、定义__all__用来模糊导入
Python中的包和模块有两种导入方式: 精确导入和模糊导入
精确导入:
from Root.Pack1 import Pack1Class
import Root.Pack1.Pack1Class
模糊导入:
from Root.Pack1 import *
模糊导入中的* 包括的模块是由__all__来定义的,__init__.py的另外一个作用就是定义package的__all__,用来模糊导入,如 __init__.py:
__all__ = ["Pack1Class","Pack1Class1"]