【发布时间】:2014-12-11 02:30:54
【问题描述】:
在阅读一些python代码时,我遇到了两种导入自定义模块的方法。
第一个;
import config
第二个;
from config import *
两者有什么区别?如果两行代码都存在会发生什么?有什么副作用吗?
【问题讨论】:
-
第二种方式将污染您当前的命名空间,几乎所有配置中的内容。
-
@Marcin:当我想使用像
config.variable这样在配置模块中声明的变量时,from config import *无法工作。这是否意味着在这种情况下必须使用import config,即使它是一种大污染物?有没有更好的方法来避免污染? -
python.org 上提供了一些相当不错的文档和示例。否决票不是我的,但由于此信息广泛可用,而且您没有提及在其他任何地方寻找它,您可能会吸引反对票。
-
from config import *可能不会导入所有内容。默认情况下,不会导入私有变量(即以单下划线开头的变量)。
标签: python python-2.7