python的每個子產品的包中,都有一個__init__.py檔案,有了這個檔案,我們才能導入這個目錄下的module。
那麼,__init__.py還有什麼别的功能呢?
其實,__init__.py裡面還是可以有内容的,我們在導入一個包時,實際上導入了它的__init__.py檔案。
我們可以再__init__.py檔案中再導入其他的包,或者子產品。
[python]
import readers
import writers
import commands
import users
import meta
import auth
import admin
這樣,當我們導入這個包的時候,__init__.py檔案自動運作。幫我們導入了這麼多個子產品,我們就不需要将所有的import語句寫在一個檔案裡了,也可以減少代碼量。
不需要一個個去導入module了。
__init__.py 中還有一個重要的變量,叫做 __all__。我們有時會使出一招“全部導入”,也就是這樣:
from PackageName import *
這時 import 就會把注冊在包 __init__.py 檔案中 __all__ 清單中的子子產品和子包導入到目前作用域中來。比如:
#檔案 __init__.py
__all__ = ["Module1", "Module2", "subPackage1", "subPackage2"]
QQ:519841366
本頁版權歸作者和部落格園所有,歡迎轉載,但未經作者同意必須保留此段聲明,
且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權利