Wildcard-Importe, wie zum Beispiel aus dem PyQt4-Import *, sind in der Programmiergemeinschaft eine häufige Quelle für Debatten. Viele Entwickler sind sich jedoch einig, dass sie generell vermieden werden sollten.
Qualifizierte Namen werden gegenüber bloßen Namen bevorzugt. Es ist besser, das Modul, aus dem Sie importieren, explizit anzugeben und dabei eine Syntax wie „from PyQt4.QtCore import Qt“ anstelle von „from PyQt4 import Qt“ zu verwenden. Qualifizierte Namen erleichtern das Nachverfolgen von Codeabhängigkeiten und das Debuggen von Fehlern.
Sie verringern außerdem das Risiko von Kollisionen zwischen Modulen. Wenn zwei Module eine Funktion mit demselben Namen definieren, müssen Sie eines davon explizit importieren, um Mehrdeutigkeiten zu vermeiden. Wildcard-Importe erleichtern das Übersehen solcher Kollisionen, die zu unerwarteten Fehlern führen.
Schließlich können Wildcard-Importe das Testen Ihres Codes erschweren. Wenn Sie beispielsweise eine Klasse aus einer Bibliothek eines Drittanbieters verspotten, ist dies einfacher, wenn Sie über einen qualifizierten Verweis auf die Klasse verfügen.
Wenn Sie Wenn Sie die Anzahl der Zeilen in Ihren Importanweisungen reduzieren möchten, können Sie Aliase für Module erstellen. Anstatt beispielsweise aus PyQt4.QtCore import Qt, QPointF, QRectF zu schreiben, könnten Sie schreiben:
import PyQt4 Qt = PyQt4.QtCore
Mit diesem Ansatz können Sie Qt.QPointF, Qt.QRectF usw. verwenden, ohne dies explizit tun zu müssen Qualifizieren Sie jeden Namen.
Eine andere Möglichkeit ist der selektive Import. Anstatt alle Klassen aus einem Modul zu importieren, können Sie nur die Klassen importieren, die Sie benötigen:
from PyQt4.QtCore import QPointF, QRectF from PyQt4.QtGui import QGraphicsItem, QGraphicsScene
Dies ist ausführlicher als die Verwendung eines Wildcard-Imports, hat aber den Vorteil, dass nur die Klassen importiert werden, die Sie tatsächlich verwenden .
Obwohl Wildcard-Importe verlockend sein können, werden sie im Allgemeinen nicht empfohlen. Qualifizierte Namen sind besser lesbar, weniger fehleranfällig und einfacher zu testen. Wenn Sie nach Möglichkeiten suchen, die Anzahl der Zeilen in Ihren Importanweisungen zu reduzieren, sollten Sie stattdessen Aliase oder selektiven Import in Betracht ziehen.
Das obige ist der detaillierte Inhalt vonWildcard-Importe: Verwenden oder nicht verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!