python裏__all__ 屬性分別於模塊和包之中的用法python
1、函數
在模塊(*.py)中使用意爲導出__all__列表裏的類、函數、變量等成員,
不然將導出modualA中全部不如下劃線開頭(私有)的成員,
在模塊中使用__all__屬性可避免在相互引用時的命名衝突
modualA.py
#
__all__=["fun1","class1"]
...
#end file modualA.py
使用:
from modualA import *
導入模塊modualA裏的全部成員(若是定義了__all__那麼就導出列表中的全部,不然默認導出不如下劃線開頭
的全部成員)
2、.net
在包(假設pkgA,pkgA是一個文件夾)的__init__.py中意爲導出包裏的模塊 例:pkgA/__init__.py # __all__=["modualA","modualB"] from modualA import class1,class2 from modualB import fun1,class3 .... #end file pkgA/__init__.py 使用: from pkgA import * 以上語句即執行了pkgA下的__init__.py,導入兩個模塊,和這兩模塊下的函數和類