“from module import *” VS “import module”



from module import *VSimport module

我知道的

我知道两者之间的区别,不同之处在于当你使用from module import *时,你可以参考模块中的类,函数等,就像它们在文件中定义一样,它们是在自己导入的。

但是当您只使用import module时,您必须在对象名称之前使用module.来引用它。

问题所以我不知道的是为什么有时使用from module import *而不是import module被认为是不好的做法?

PEP 8规定

通配符导入(from <module> import *)应该避免,因为它们使名称空间中出现的名称不清楚,造成混淆包括阅读器和许多自动化工具。有一个可辩护的用途通配符导入的情况,这是为了重新发布内部接口作为公共API的一部分(例如,覆盖纯的定义的接口的Python实现可选的加速器模块和定义

相关内容

  • 没有找到相关文章

最新更新