Modul :
Ein Modul ist eine Datei, die Python-Definitionen und -Anweisungen enthält.
Wie das Dokument sagt.
Also ein Modul in Python ist einfach eine Möglichkeit, den Code zu organisieren, und es enthält entweder Python-Klassen oder nur Funktionen.
Wenn Sie diese Klassen oder Funktionen in Ihrem Projekt benötigen, verwenden Sie nur import
sie.
Zum Beispiel enthält das math
-Modul in Python nur eine Reihe von Funktionen, und Sie nennen nur die benötigten ( math.sin
).
Werfen Sie einen Blick auf diese Frage .
Andererseits ist eine Python-Klasse einer Java-Klasse ähnlich, sie ist nur etwas anders strukturiert.
Es gibt große Unterschiede zwischen Klassen und Modulen in Python.
Klassen sind Blaupausen, mit denen Sie Instanzen mit Attributen und gebundenen Funktionen erstellen können. Klassen unterstützen Vererbung, Metaklassen und Deskriptoren.
Module können nichts davon tun, Module sind im Wesentlichen Singleton-Instanzen einer internen module
-Klasse und alle ihre globalen Attribute sind Attribute in der module
-Instanz. Sie können diese Attribute nach Bedarf bearbeiten (hinzufügen, entfernen und aktualisieren), berücksichtigen Sie jedoch, dass diese weiterhin den globalen Namespace für den gesamten in diesem Modul definierten Code bilden.
Aus einer Java-Perspektive sind Klassen hier nicht so verschieden. Module können jedoch mehr als nur eine Klasse enthalten; Funktionen und jedes Ergebnis eines anderen Python-Ausdrucks können auch globale Variablen in einem Modul sein.
Also als allgemeine Baseball-Richtlinie:
Speichern Sie die Daten dort, wo sie für Ihre Anwendung sinnvoll sind. Der globale Zustand geht in Module über (und Funktionen und Klassen sind genauso global wie am Anfang geladen). Alles andere geht in andere Datenstrukturen, einschließlich Instanzen von Klassen.
Kann ich einer Variablen im Modul einen Wert zuweisen?
Kurz gesagt, ja.
Das Konzept von module
bezieht sich auf eine einzelne Python-Datei, die importiert werden kann (durch Importieren haben Sie Zugriff auf die in diesem Modul definierten Variablen / Methoden / Klassen).
Es wird häufig zusammen mit dem Konzept package
diskutiert, welches ein Ordner mit __init__.py
ist. Ein Paket kann Unterpakete oder Module enthalten und gleichzeitig, ähnlich wie Module, Variablen / Methoden / Klassen definieren, die innerhalb seines __init__.py
importiert werden sollen.
Der Zweck, Module / Pakete in Python zu haben, ist ähnlich wie in Java: Pakete enthalten und kategorisieren wiederverwendbare Codes, um Namenskonflikte aufzulösen und so weiter.
Außerdem hat Python auch eine eingebaute Klasse namens module
, genau wie list
, tuple
, dict
(beachten Sie, dass Python-eingebaute Klassen aus althergebrachten Gründen nicht der CapWords-Namenskonvention folgen). Eine module
-Instanz repräsentiert das importierte Modul / Paket.
Wenn Sie die Anweisung import
verwenden, um ein Modul (einzelne Python-Datei) oder ein Paket (Ordner mit __init__.py
), normalerweise
, zu importieren
1. Eine neue Instanz von module
class wird erstellt
2. Die Klassen / Methoden / Variablen, die Sie in dieser importierten Python-Datei definiert haben, werden als Attribute dieser module
Instanz hinzugefügt (wenn es sich um ein Paket handelt, sind dies die in __init__.py
definierten Klassen / Methoden / Variablen) hinzugefügt).
Da es sich also nur um eine Instanz der Klasse module
handelt, können Sie dem Attribut dieser Instanz und anderen Klasseninstanzoperationen einen Wert zuweisen.
Konsole:
%Vor%Tags und Links python class python-module