理解Python包中__init__.py的作用

参考原文: https://www.cnblogs.com/AlwinXu/p/5598543.html

引言: 在实际的Python项目开发中, 我们免不了编写一些依赖包。这时候 正确地理解并使用__init__.py 文件会让我们的项目开发变成便捷许多。__init__.py的最主要作用有:

1、作为Python的package的标识

在创建python包(package)的过程中,IDE都会在包根目录下创建一个__init__.py 文件,该Python文件默认是空的。

每个package实际上是一个目录(Directory),那么IDE是怎么识别它为package的呢 —— __init__.py的第一个作用就是package的标识,如果没有该文件,该目录就不会认为是package。

2、定义__all__用来模糊导入

Python中的包和模块有两种导入方式: 精确导入和模糊导入

精确导入:

from Root.Pack1 import Pack1Class
import Root.Pack1.Pack1Class

模糊导入:

from Root.Pack1 import *

模糊导入中的* 包括的模块是由__all__来定义的,__init__.py的另外一个作用就是定义package的__all__,用来模糊导入,如 __init__.py:

__all__ = ["Pack1Class","Pack1Class1"]

 

你可能感兴趣的:(Python)