Python中from module import * 导包方式下的__all__变量
python导入模块有两种方式:
1、import module
2、from module import 对象名
第二种方法中有一种特殊的形式:from module import * ,即导入一切。但是这种导入方法只能导入公有的属性、方法和类,不能导入私有的或者保护型的属性方法类。
# 类 mod2.py
外部调用:
但是可以在类里面加上__all__变量。
__all__变量只对from module import * 这种导入模式起作用,本质上是一个列表,里面保存的是允许被外界调用的对象。
from module import * 这种导包方式,如果多导几个包,很可能会有重名的风险。个人感觉它和__all__都很鸡肋。