Heim  >  Artikel  >  Backend-Entwicklung  >  Wie funktioniert „import *“ eigentlich in Python?

Wie funktioniert „import *“ eigentlich in Python?

DDD
DDDOriginal
2024-11-16 14:45:03730Durchsuche

How Does

Das Rätsel um „import *“ lösen

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:

  • Alle Namen, die in der Variablen „__all__“ des Moduls aufgeführt sind (sofern definiert).
  • Alle Namen außer diesen beginnend mit einem Unterstrich („_“), es sei denn, die Variable „__all__“ ist definiert.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn