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 python

這樣,當咱們導入這個包的時候,__init__.py文件自動運行。幫咱們導入了這麼多個模塊,咱們就不須要將全部的import語句寫在一個文件裏了,也能夠減小代碼量。
不須要一個個去導入module了。
__init__.py 中還有一個重要的變量,叫作 __all__。咱們有時會使出一招「所有導入」,也就是這樣:
from PackageName import *
這時 import 就會把註冊在包 __init__.py 文件中 __all__ 列表中的子模塊和子包導入到當前做用域中來。好比:
#文件 __init__.py作用域

__all__ = ["Module1", "Module2", "subPackage1", "subPackage2"]it

相關文章
相關標籤/搜索