python中含__init__.py 的文件才会被认作是一个包,为什么呢,这个文件有什么作用呢
1、__init__.py是Python中package的标识
__init__.py 文件的一个主要作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件
2、批量引入(定义__all__用来模糊导入)
我们在python中导入一个包时,实际上是导入了它的__init__.py文件,这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。
3、配置模块的初始化操作,这个文件也是一个正常的python代码文件,因此可以将初始化代码放入该文件中。
扩展资料
python中__init__.py文件的作用实例:
python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module。__init__.py里面还是可以有内容的,我们在导入一个包时,实际上导入了它的__init__.py文件。
我们可以再__init__.py文件中再导入其他的包,或者模块。
[python]
import readers
import writers
import commands
import users
import meta
import auth
import admin
这样,当我们导入这个包的时候,__init__.py文件自动运行。帮我们导入了这么多个模块,我们就不需要将所有的import语句写在一个文件里了,也可以减少代码量。不需要一个个去导入module了。
原因:
__init__.py 文件定义了包的属性和方法。其实它可以什么也不定义;可以只是一个空文件,但是必须存在。如果 __init__.py 不存在,这个目录就仅仅是一个目录,而不是一个包,它就不能被导入或者包含其它的模块和嵌套包。
作用:
1、Python包的标识符。python包实际上就是一个文件夹,__init__.py的作用就是把这个文件夹变成一个可识别的python包。如果没有__init__.py文件,则该文件夹只是一个普通的目录。
2. 定义python包中的__all__,用于模糊导入。
扩展资料
__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。
通常__init__.py 文件为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。
这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。
__init__.py的作用有如下几点:
1. 相当于class中的def __init__(self):函数,用来初始化模块。
2. 把所在目录当作一个package处理
3. from-import 语句导入子包时需要用到它。 如果没有用到, 他们可以是空文件。
如引入package.module下的所有模块
from package.module import *
这样的语句会导入哪些文件取决于操作系统的文件系统. 所以我们在__init__.py 中加入 __all__变量.
该变量包含执行这样的语句时应该导入的模块的名字. 它由一个模块名字符串列表组成.