完全没有区别。 它们的功能完全相同。
但是,从样式角度来看,一个可能比另一个更可取。 并注意,用于导入的PEP-8表示您应将module压缩到一行上,并在多行上保留import module1:
Yes: import os
import sys
No: import sys, os
Ok: from subprocess import Popen, PIPE
回应@teewuane的评论(如果删除评论,请在此处重复):
@ inspectorG4dget如果必须从一个导入多个功能怎么办 模块,最终使该行超过80个字符? 我知道 80字符的东西是“当它使代码更易读时”,但是我 我仍然想知道是否还有更整洁的方法可以做到这一点。 而且我不 想要从foo import *做,即使我基本上是在导入 一切。
这里的问题是,执行以下类似操作可能会超出80个字符的限制:
from module import func1, func2, func3, func4, func5
对此,我有两个答复(我看不出PEP8对此过于清楚):
将其分为两部分:
from module import func1, func2, func3
from module import func4, func5
这样做的缺点是,如果从代码库中删除了module或对其进行了重构,则将需要删除两个导入行。 这可能会很痛苦
分割线:
为了减轻上述担忧,这样做可能更明智。
from module import func1, func2, func3, \
func4, func5
如果第二行未与第一行一起删除,同时仍保持单个import语句,则将导致错误