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