这篇文章作者主要讨论了Python的from import *和from import *,它们怎么执行以及为什么使用这种语法(也许)是一个坏主意.
从一个模块导入全部
from import * means意味着“我希望能访问中我有权限访问的全部名称”.例如以下代码something.py:
在Python解释器中,我们可以执行from something import *,然后看到如下的内容:
from something import *从something中导入了除了以_开头名称外的其他所有名称,按照规范,_开始的名称是私有的所以未被导入.
嗯,不是特别糟!还有什么?
上面没提到__all__是什么.__all__是一个字符串列表,指定了当from import *被使用时,模块(或者如后文会提到的包)中的哪些符号会被导出.如果我们不定义__all__(我们在上面的something.py就没定义)