Heim > Artikel > Backend-Entwicklung > Wie funktioniert „import *“ eigentlich in Python?
Was bedeutet „import *“ importieren?
In Python bedeutet „import *“ importiert alles aus dem angegebenen Modul in das aktuelle Modul. Dies ermöglicht den direkten Zugriff auf die importierten Objekte, ohne ihnen den Modulnamen voranzustellen.
Zum Beispiel:
>>> from math import * >>> pi 3.141592653589793 >>> sin(pi/2) 1.0
Gefangen im Netz der Namenskollisionen
Der Import von „alles“ mit „*“ wird jedoch nicht empfohlen, da es zu Namespace-Kollisionen mit vorhandenen Variablen oder Funktionen führen kann. Darüber hinaus kann es ineffizient sein, wenn eine große Anzahl von Objekten importiert wird.
Explizites Importieren vs. Importieren mit „*“
Es ist vorzuziehen, nur die explizit zu importieren notwendige Objekte:
>>> from math import pi >>> pi 3.141592653589793 >>> sin(pi/2) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'sin' is not defined
Alternativ kann das Modul unter einem eigenen Namensraum oder Alias importiert werden:
>>> import math >>> math.pi 3.141592653589793 >>> import math as m >>> m.pi 3.141592653589793
Ausnahmen beim „* Import“
In bestimmten Fällen kann es sinnvoll sein, alles mit „“ zu importieren. Einige Bibliotheken stellen beispielsweise Untermodule bereit, die speziell für den Import mit „“ entwickelt wurden und häufig verwendete Konstanten und Funktionen enthalten.
Einblick in den „* Import“-Mechanismus
Mit „import *“ werden folgende Objekte importiert:
Feinheiten der Untermodule
Entgegen der allgemeinen Wahrnehmung „from xyz import “ importiert keine Untermodule. Submodule müssen explizit separat importiert werden, z.B. „aus urllib.request import “.
Das obige ist der detaillierte Inhalt vonWie funktioniert „import *“ eigentlich in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!