在创建一个模块的包的时候,一般都会包含一个空的__init__.py文件,那么这个文件的作用是什么呢?

init.py的主要作用是:

  • Python中package的标识,不能删除
  • 定义__all__用来模糊导入
  • 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单)

init.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。

但是我们可以为该文件增加一些功能

我们在导入一个包的时候,实际上是导入了__init__.py的文件,这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。

举个栗子,模块名为package

# __init__.py
import os
import sys
import re

在使用包的时候

# a.py
print(package.re, package.os, pakcage.sys)

除此之外,他还有一个重要的变量__all__,他用来将模块全部导入

# __init__.py
__all__ = ["os", "sys", "re", "urllib"]

这时就会把注册在__init__.py文件中__all__列表中的模块和包导入到当前文件中来