python中关于__init__模块文件的理解

一般来说新建的一个包下,必然会有一个__init__文件?那么这个文件到底邮有和作用呢?

总结几点如下:

1.__init__文件在包下,其中定义了包的属性,方法;必须要有这个文件,如果没有的话,这个包就只是一个目录(不信你删除试试);

2.其内容可以为空,但是必须存在,当你引包中的模块是,实际上引的是__init__文件;

3.__init__.py 控制着包的导入行为。假如 __init__.py 为空,那么仅仅导入包是什么都做不了的。

4.__init__.py 中有个__all__的属性,可以在其中加入模块名,然后在导入,相当于from pacakage import *