
1.前言
在许多python项目中都会出现__init__.py这个文件,那这个文件到底有什么用呢?为什么要写这个文件?接下来我向大家详细介绍一下。
2.介绍
在python中,我们导入一个文件的时候会运行里面的代码
# a.py
print("hello world")
# 文件b.py
import a
此时运行b.py则会打印hello world
当我们导入某个文件夹的时候 则不会运行里面的py文件而是会运行__init__.py文件
# package/__init__.py
print("hello world")
# a.py
import package
# 此时运行a.py文件则会打印hello world
简单来说,当我们在python导入一个文件夹的时候会默认运行__init__.py文件
3.用途
一,包的初始化
有的包需要初始化一些数据和配置一些环境变量等。
# package/__init__.py
a = 10
# a.py
import package
print(package.a);
# 运行a.py会打印10
二,管理包的接口
能够统一导入的路径
# package/b.py
a = 1
# package/__init__.py
from .b import a
# a.py
from a import package
print(a) # 打印1
同时还可以导入所有__init__.py中的变量
# package/b.py
a = 1
# package/__init__.py
from .b import a
__all__ = ['a']
# a.py
from package import *
print(a) # 打印 1
三,包的信息
还可以在__init__.py文件中写入作者、版本等信息
# package/__init__.py
__version__ = "1.0.0"
__author__ = "zr"
# a.py
import package
print(package.__version__) # 打印 1.0.0
print(package.__author__) # 打印 zr
4.总结
python中的__init__.py文件定义了我们导入一个包时的行为,在这个过程中我们通常用于包的初始化、版本信息的定义等。