__all__spa
__all__可用於模塊導入時限制,如:code
from module import *blog
此時被導入模塊module中class
若定義了__all__屬性,則只有all內指定的屬性、方法、類可被導入
若沒定義__all__屬性,則模塊內的全部將被導入test
使用示例import
a.pymodule
__all__ = ['test1'] def test1(): print("-----test1-----") def test2(): print("-----test2-----")
b.py方法
from a import * test1() #輸出:-----test1----- test2() #報錯,name 'test2' is not defined
注意: __all__ 隻影響到了 from <module> import * 這種導入方式
對於以下導入方式並無影響,仍然能夠從外部導入
1) from <module> import <member>
2) import <module>im
--------------------------------------------------------------------------------------------------------------------ember