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

Importiert „import *' __init__.py in Python?

Linda Hamilton
Freigeben: 2024-12-10 08:10:10
Original
1027 Leute haben es durchsucht

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

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
    Nach dem Login kopieren
  • Modul Aliasing:

    import math as m
    Nach dem Login kopieren

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage