作为一个新手,当我开始写一些东西时,我开始喜欢几乎默认导入模块,因为我在其中调用了某些功能(模块,如随机,时间,操作系统和系统)。但是,这会影响性能吗?如果我只想在模块中使用特定的功能,我是否可以通过明确要求它或者我不应该关心它?
答案 0 :(得分:6)
执行from module import name
时,Python仍然必须运行module
,因此在性能方面没有差异。
通常情况下,如果您只使用模块中的一个内容,则使用from x import y
即可,但是,使用import x
然后使用x.y
会导致名称冲突的可能性降低
原因是Python不会特别处理函数和类。从模块导入时,您所做的只是从该模块中获取对象并使用它们。这很有用,因为它使模块(以及类和函数)非常灵活,但它确实意味着Python必须先运行模块的整个脚本才能从模块中导入(当然,模块编写者可以解决这个问题。使用if name == "main":
成语插入不应在导入时运行的代码。