最常用的作用是标识一个文件夹是一个 python包。
另一个作用是定义模糊导入时要导入的内容。
当我们使用类似 from package import * 的导入语句的时候就是在使用模糊导入了,这时包的编写者就可以在__init__.py文件中定义 __all__ 来限制模糊导入的内容。这样可以避免将一些只在包内使用的方法或变量暴露给用户。__init__.py
的作用是让一个呈结构化分布(以文件夹形式组织)的代码文件夹变成可以被导入import
的软件包。
这个文件(这个文件定义了包的属性和方法)其实它可以什么也不定义;可以只是一个空文件,但是必须存在。如果 __init__.py 不存在,这个目录就仅仅是一个目录,而不是一个包,它就不能被导入或者包含其它的模块和嵌套包。