まったく違いはありません。どちらもまったく同じように機能します。
ただし、文体の観点からは、一方が他方よりも好ましい場合があります。そして、その点で、インポート用のPEP-8は、1行に圧縮し、複数行のfrom module import name1, name2
ままにする必要があると述べています。import module1
Yes: import os
import sys
No: import sys, os
Ok: from subprocess import Popen, PIPE
@teewuaneのコメントへの応答(コメントが削除された場合に備えてここで繰り返されます):
@ inspectorG4dget 1つのモジュールから複数の関数をインポートする必要があり、その行が80文字より長くなる場合はどうなりますか?80文字のことは「コードを読みやすくするとき」であることは知っていますが、これを行うためのよりきちんとした方法があるかどうかはまだ疑問です。そして、私は基本的にすべてをインポートしていますが、fooimport*からはやりたくありません。
ここでの問題は、次のようなことを行うと、80文字の制限を超える可能性があることです。
from module import func1, func2, func3, func4, func5
これに対して、2つの応答があります(PEP8がこれについて過度に明確になっているとは思いません)。
それを2つのインポートに分割します:
from module import func1, func2, func3
from module import func4, func5
module
これを行うと、コードベースから削除されるか、リファクタリングされる場合、両方のインポート行を削除する必要があるという欠点があります。これは痛みを伴うことが判明する可能性があります
行を分割します:
上記の懸念を軽減するために、実行する方が賢明かもしれません
from module import func1, func2, func3, \
func4, func5
単一のインポートステートメントを維持しながら、2番目の行が最初の行と一緒に削除されない場合、これはエラーになります。