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__都很鸡肋。

原文地址:https://www.cnblogs.com/wangyi0419/p/12495768.html