导入模块 - 太多了?

Kim*_*aru 4 python python-2.7 python-3.x

作为一个新手,当我开始写一些东西时,我开始喜欢几乎默认导入模块,因为我对它们中的某些函数调用了很多(模块,如random,time,os和sys).但是,这会影响性能吗?如果我只想在模块中使用特定功能,我是否可以通过明确要求它或者我不应该关心它?

Gar*_*tty 6

当你这样做时from module import name,Python仍然必须运行module,因此在性能方面没有区别.

通常,如果您只使用模块中的一个东西,则使用from x import y很好,但是否则使用import x然后x.y导致名称冲突的可能性降低.

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