Python中的______all__

Python中在导入模块的时候,可能经常会使用

from ... import *

但我不建议你这么做,使用这种方式会将目标模块里的所有内容都导入,除了以下划线开始的变量。使用这种方式导入模块,会导入很多你原本不需要的东西,比如函数,类,造成一些不必要的麻烦。

推荐方式

可以通过在模块中定义______all__列表来防止对方导入并不需要的模块,或是你不希望被别人导入的模块。

举个例子:

上图,是Python3中的urlib库中的request模块。

我们在使用

from ... import *时只会导入all列表定义的东西。

当然,将all定义为空列表,采用精确导入总是可以导入的。

like this:

from urllib import request

⬇️

小结:这就是Python模块中经常见到all变量的含义和作用啦

posted @ 2020-06-13 21:14  HeliusKing  阅读(215)  评论(1编辑  收藏  举报