在一个模块中,可以使用 __all__=['func_name1','func_name2','func_name3']
来控制导入,当别人导入该模块的时候,
from module import *
只会导入 __all__ 里面列出来的函数名,这些函数可以直接使用,而其他函数要用类名来使用。
如果没有 __all__ 则会导入全部
例如:
#m1.py
#coding=utf-8
__all__=['func1']
def func1(arg1,arg2):
print arg1*arg2
def func2(arg1,arg2,*arg3):
print arg1,arg2,arg3
#test.py
>>> from m1 import *
>>> func1(1,2) ##能够正常输出
2
>>>
>>> func2(1,2)
>>> NameError: name 'func2' is not defined
>>>
>>> m1.func2(1,2)
>>> NameError: name 'm1' is not defined
__all__=[]模块控制
最新推荐文章于 2024-01-24 10:12:03 发布