Heim >Backend-Entwicklung >Python-Tutorial >Importiert „import *' __init__.py in Python?

Importiert „import *' __init__.py in Python?

Linda Hamilton
Linda HamiltonOriginal
2024-12-10 08:10:101102Durchsuche

Does

Was bedeutet „import *“ in Python und in welcher Beziehung steht es zu __init__.py?

In Python ist „import *“ "-Anweisung importiert alle nicht privaten (d. h. nicht mit einem Unterstrich beginnenden) Symbole aus einem angegebenen Modul in das aktuelle Modul. Dies ermöglicht den direkten Zugriff auf die importierten Symbole, ohne das Modulnamenpräfix zu verwenden.

Importiert „import *“ __init__.py?

Nein, das „import *“ Die Anweisung importiert die Datei __init__.py im enthaltenen Ordner nicht automatisch. __init__.py ist eine spezielle Datei, die Python zum Initialisieren eines Moduls beim Import verwendet. Um __init__.py explizit zu importieren, müssen Sie die „import“-Anweisung mit dem Modulnamen wie folgt verwenden:

from project.model import __init__

Vor- und Nachteile von „import *“:

Der Hauptvorteil von „import *“ ist die Bequemlichkeit, alle Symbole auf einmal zu importieren. Von dieser Praxis wird jedoch generell abgeraten, weil:

  • Namespace-Kollisionen:Importierte Symbole können mit vorhandenen Symbolen im aktuellen Modul in Konflikt geraten.
  • Ineffizienz :Das Importieren einer großen Anzahl von Symbolen kann das Programm verlangsamen.
  • Mangelnde explizite Dokumentation:Es kann schwierig sein, den Ursprung importierter Symbole zu verfolgen, wenn „*“ verwendet wird.

Bevorzugte Vorgehensweisen:

Anstelle von „import *“ wird empfohlen, nur die spezifischen Symbole zu importieren, die Sie benötigen. Dies kann entweder erfolgen mit:

  • Expliziter Import:

    from math import pi
  • Modul Aliasing:

    import math as m

Submodule und „import *“:

Wenn ein Modul Submodule enthält, funktioniert „import *“. Importieren Sie diese Untermodule nicht, es sei denn, sie sind explizit im Attribut all des Hauptmoduls enthalten Modul.

Fazit:

Während „import *“ praktisch sein kann, wird im Allgemeinen zugunsten expliziter Importe oder Modul-Aliasing davon abgeraten. __init__.py ist eine spezielle Datei, die zum Initialisieren eines Moduls verwendet wird und separat mit der „import“-Anweisung importiert werden muss.

Das obige ist der detaillierte Inhalt vonImportiert „import *' __init__.py 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