1. 標(biāo)識該目錄是一個(gè)python的模塊包(module package)
如果你是使用python的相關(guān)IDE來進(jìn)行開發(fā),那么如果目錄中存在該文件,該目錄就會被識別為 module package 。
2. 簡化模塊導(dǎo)入操作
通常__init__.py文件為空,但是我們還可以為它增加其他的功能,我們在導(dǎo)入一個(gè)模塊時(shí)候(也叫包),實(shí)際上導(dǎo)入的是這個(gè)模塊的__init__.py文件。我們可以在__init__.py導(dǎo)入我們需要的模塊,不需要一個(gè)個(gè)導(dǎo)入
.
_init__.py 中還有一個(gè)重要的變量,叫做 __all__。我們有時(shí)會使出一招“全部導(dǎo)入”,也就是這樣:from PackageName import *,這時(shí) import 就會把注冊在包 __init__.py 文件中 __all__ 列表中的子模塊和子包導(dǎo)入到當(dāng)前作用域中來。比如:
#文件 __init__.py
__all__ = ["Module1", "Module2", "subPackage1", "subPackage2"]