python的__all__,,用来暴露接口控制 f


用来暴露接口

控制 from xxx import * 的行为

代码中当然是不提倡用from xxx import *的写法的,但是在 console 调试的时候图个方便还是很常见的。如果一个模块spam没有定义__all__,执行from spam import *的时候会将spam中非下划线开头的成员都导入当前命名空间中,这样当然就有可能弄脏当前命名空间。如果显式声明了__all__,import *就只会导入__all__列出的成员。如果__all__定义有误,列出的成员不存在,还会明确地抛出异常,而不是默默忽略。

https://blog.csdn.net/hang916/article/details/79474821

python的__all__

评论关闭