Python中的______all__
Python中在导入模块的时候,可能经常会使用
from ... import *
但我不建议你这么做,使用这种方式会将目标模块里的所有内容都导入,除了以下划线开始的变量。使用这种方式导入模块,会导入很多你原本不需要的东西,比如函数,类,造成一些不必要的麻烦。
推荐方式
可以通过在模块中定义______all__列表来防止对方导入并不需要的模块,或是你不希望被别人导入的模块。
举个例子:
上图,是Python3中的urlib库中的request模块。
我们在使用
from ... import *
时只会导入all列表定义的东西。
当然,将all定义为空列表,采用精确导入总是可以导入的。
like this:
from urllib import request
⬇️
小结:这就是Python模块中经常见到all
变量的含义和作用啦
你所看得到的天才不过是在你看不到的时候还在努力罢了!