Python | 导入模块加括号

发布时间 2023-07-09 19:56:49作者: 张Zong在修行

我们在阅读源码的时候可以看见这样的代码:

from torchmetrics.classification import (
    accuracy,
    precision,
    recall,
    f1_score,
    iou,
    hamming_distance,
)

如果不加括号,代码就会变成如下形式:

from torchmetrics.classification.jaccard import BinaryJaccardIndex, JaccardIndex,MulticlassJaccardIndex, MultilabelJaccardIndex

不加括号与使用括号的方式是一样的,但在代码风格上略有不同。一般来说,使用括号可以使代码更加清晰易读,建议在实际编程中使用括号的方式。

我们可以看出加括号的可以换行,那么不加括号的情况可以换行吗?

如下所示:

from torchmetrics.classification.jaccard import BinaryJaccardIndex, JaccardIndex, \
    MulticlassJaccardIndex, MultilabelJaccardIndex

使用反斜杠将导入语句分成两行。这种方式可以使代码在不影响语法的情况下更加清晰易读,但是一般情况下,使用括号的方式更加常见和推荐。

需要注意的是,不管是使用括号还是反斜杠,都需要遵循 Python 的缩进规则。如果在一行上分隔导入语句,需要使用逗号分隔各个成员;如果在多行上分隔导入语句,需要在后续行上保持与第一行相同的缩进。

综上所述,虽然不加括号的方式也可以在多行上分隔导入语句,但是一般情况下建议使用括号的方式,因为它更加清晰易读,并且不需要考虑缩进的问题。