Python-Modul Importieren: Single-line vs Multi-line
Dies ist also nur eine einfache Frage. In python beim importieren von Modulen, was ist der Unterschied zwischen diesem:
from module import a, b, c, d
und diese
from module import a
from module import b
from module import c
from module import d
Mir macht es Sinn, immer zu kondensieren code und verwenden Sie das erste Beispiel, aber ich habe gesehen, einige code-Beispiele gibt, dong die zweite. Gibt es überhaupt einen Unterschied oder ist es der Vorliebe des Programmierers?
InformationsquelleAutor der Frage Cody Brown | 2013-02-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es überhaupt keinen Unterschied. Beide funktionieren genau die gleiche.
Aber aus einer stilistischen Perspektive, man könnte mehr bevorzugt als die anderen. Und auf dieser Notiz, die PEP-8 für die Einfuhr sagt, dass Sie komprimieren soll
from module import name1, name2
auf einer einzelnen Zeile und lassen Sieimport module1
auf mehreren Linien:In der Antwort auf @teewuane Kommentar (hier wiederholt, falls der Kommentar gelöscht wird):
Das Problem hier ist, dass es so etwas wie den folgenden kann über die 80 char limit:
Zu diesem habe ich zwei Antworten (ich sehe nicht PEP8 allzu klar darüber):
Brechen Sie in zwei Importe:
Hat dies den Nachteil, dass wenn
module
entfernt von der codebase oder anderweitig umgestaltet werden, sowohl die import-Zeilen müssen gelöscht werden. Dies könnte sich als schmerzhaftTeilt die Linie:
Zur Entschärfung der oben genannten betreffen, kann es klüger sein zu tun
Dies würde zu einem Fehler führen, wenn die zweite Zeile nicht gelöscht, zusammen mit der ersten, unter Beibehaltung der einzigartigen import-Anweisung
InformationsquelleAutor der Antwort inspectorG4dget
Hinzufügen, um einige der aufgeworfenen Fragen aus inspectorG4dget AntwortSie können auch Tupel zu tun, multi-line-Einfuhren, wenn die Ordner-Strukturen beginnen immer tief verschachtelten oder Sie haben Module mit stumpfen Namen.
Funktioniert das auch, aber ich bin kein fan von diesem Stil:
InformationsquelleAutor der Antwort Jacob Powers