Python 在模块中使用import的“最佳实践”是什么

Python 在模块中使用import的“最佳实践”是什么

导入语句就像Python中的任何其他语句或关键字一样,应该遵循最佳实践并正确添加到代码中。让我们依次看看它们。

多个导入

多个导入通常应该分别放在不同的行上。例如:

import numpy
import pandas
import matplotlib

始终置顶

引入语句始终放置在文件的顶部,即:

  • 在模块注释和文档字符串之后
  • 在模块全局变量和常量之前

例如:

# import the numpy module
import numpy

按顺序导入模块

一个好的做法是按照以下顺序导入模块:

  • 标准库模块 – 例如 sys、os、getopt、re
  • 第三方库模块 – 例如 ZODB、PIL.Image 等等
  • 自行开发的模块

绝对导入

推荐使用绝对导入,因为它们通常更易读,并且如果导入系统配置不正确,它们往往具有更好的性能。例如:

import mypkg.sibling
from mypkg import sibling
from mypkg.sibling import example

通配符导入(from <module> import *)应该避免使用

避免使用通配符导入,因为它们使得在命名空间中存在哪些名称变得不清楚,会给读者和许多自动化工具带来困惑。

循环导入

为了避免循环导入的问题,有时需要将导入移到函数或类中。Gordon McMillan说:

“双方模块使用 import <module>形式的导入时,循环导入是可以的。但是当第二个模块想要从第一个模块中抓取一个名称(’from module import name’)并且导入放在顶层时,会导致失败。这是因为第一个模块正在忙于导入第二个模块,所以第一个模块中的名称尚不可用。”

如果第二个模块只在一个函数中使用,导入可以轻松地移动到该函数中。在调用导入时,第一个模块已经完成初始化,第二个模块就可以进行导入。

如果某些模块是特定于平台的,可能还需要将导入移到代码的顶层之外。在这种情况下,甚至可能无法在文件开头导入所有模块。在相应的特定于平台的代码中导入确切的模块是一个不错的选择。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程