1.测试文件foo.py
1
2
3
4
5
6
7
8
9
10
|
# -*- 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
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# -*- 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']” 注释,运行正常
它不仅在第一时间展现了模块的内容大纲,而且也更清晰的提供了外部访问接口。