导入模块 - 太多了?

时间:2013-02-28 20:36:33

标签: python python-2.7 python-3.x

作为一个新手,当我开始写一些东西时,我开始喜欢几乎默认导入模块,因为我在其中调用了某些功能(模块,如随机,时间,操作系统和系统)。但是,这会影响性能吗?如果我只想在模块中使用特定的功能,我是否可以通过明确要求它或者我不应该关心它?

1 个答案:

答案 0 :(得分:6)

执行from module import name时,Python仍然必须运行module,因此在性能方面没有差异。

通常情况下,如果您只使用模块中的一个内容,则使用from x import y即可,但是,使用import x然后使用x.y会导致名称冲突的可能性降低

原因是Python不会特别处理函数和类。从模块导入时,您所做的只是从该模块中获取对象并使用它们。这很有用,因为它使模块(以及类和函数)非常灵活,但它确实意味着Python必须先运行模块的整个脚本才能从模块中导入(当然,模块编写者可以解决这个问题。使用if name == "main":成语插入不应在导入时运行的代码。