文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书
1. 动机
今天看MXNet的gluon源码时发现mxnet.gluon.data.vision有__all__如下:
1  | __all__ = ['MNIST', 'FashionMNIST', 'CIFAR10', 'CIFAR100',  | 
2. 作用
__all__是一个字符串list,用来定义模块中对于from XXX import *时要对外导出的符号,即要暴露的借口,但它只对import *起作用,对from XXX import XXX不起作用。
3. 测试
all.py文件时要导出的模块,内容如下:
1  | __all__ = ['x', 'y', 'test']  | 
- 测试文件一
 
1  | from foo import *  | 
- 运行结果:
 
1  | x: 2  | 
- 测试文件二
 
1  | from foo import *  | 
- 运行结果
 
1  | x: 2  |