Wie funktioniert „import *' eigentlich in Python?

DDD
Freigeben: 2024-11-16 14:45:03
Original
728 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage