您的位置:首页 > 其它

__all__=[]模块控制

2015-05-30 14:40 197 查看
在一个模块中,可以使用 __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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: