天天看點

python中__init__.py檔案的作用

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

本頁版權歸作者和部落格園所有,歡迎轉載,但未經作者同意必須保留此段聲明,

且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權利