Python模块中使用import的最佳实践是什么?
像Python中的任何其他关键字和语句一样,在代码中使用和添加import语句时应该遵循最佳实践。让我们一起来看看它们。
更多Python相关文章,请阅读:Python 教程
多个Imports
多个Imports通常应放在不同的行上。例如:
始终在顶部
Imports总是放在文件的顶部,即在任何模块注释和docstring之后,在模块全局变量和常量之前。 例如:
按顺序导入模块
一个很好的做法是按以下顺序导入模块:
- 标准库模块-例如sys,os,getopt,re
- 第三方库模块-例如ZODB,PIL.Image等。
- 本地开发的模块
绝对导入
建议使用绝对导入,因为它们通常更易读,并且如果导入系统配置不正确,则往往执行更好。例如:
应避免使用通配符导入(from import *)。
避免使用通配符导入,因为它们使得命名空间中存在哪些名称不清楚,这会混淆读者和许多自动化工具。
循环导入
为了避免循环导入的问题,有时需要将引入移动到函数或类中。Gordon McMillan表示:
_“使用‘import ’形式的导入的循环导入没问题。当第二个模块想要从第一个模块中取出一个名称(“from module import name”),并且导入处于顶层时,它们会失败。那是因为第一个模块中的名称尚不可用,因为第一个模块正在忙于导入第二个模块。” _
如果第二个模块仅在一个函数中使用,则可以轻松地将导入移动到该函数中。当调用导入时,第一个模块将完成初始化,第二个模块可以进行导入。
如果某些模块是特定于平台的,则可能需要将导入移出代码的顶级。在这种情况下,甚至可能无法在文件的顶部导入所有模块。在相应的特定于平台的代码中导入准确的模块是一个不错的选择。