完全没有区别。它们的功能完全相同。
但是,从样式角度来看,一个可能比另一个更可取。并注意,用于导入的PEP-8表示您应压缩from module import name1, name2
到单行上,然后保留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