Python __all__

半世苍凉 提交于 2019-12-03 02:23:27

1.测试文件foo.py

# -*- coding: utf-8 -*-
# import sys
# reload(sys)
# sys.setdefaultencoding('gbk')
 
__all__ = ['bar', 'baz']
 
waz = 5
bar = 10
def baz(): return 'baz'

 

2.引入上文件,创建run-foo.py

# -*- coding: utf-8 -*-
# import sys
# reload(sys)
# sys.setdefaultencoding('gbk')
 
from foo import *
 
print bar
print baz
 
# The following will trigger an exception, as "waz" is not exported by the module
# 下面的代码就会抛出异常,因为 "waz"并没有从模块中导出,因为 __all__ 没有定义
print waz

 3.运行结果

4.把foo.py的“__all__ = ['bar', 'baz']” 注释,运行正常

它不仅在第一时间展现了模块的内容大纲,而且也更清晰的提供了外部访问接口。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!