Dieser Artikel führt Sie hauptsächlich in die drei Methoden zum Importieren benutzerdefinierter Module in Python3 ein. Der Artikel führt sie ausführlich anhand von Beispielcode ein, der für das Studium oder die Arbeit eines jeden einen gewissen Referenzlernwert hat
Vorwort
Ich habe kürzlich den Modulabschnitt aus Liao Xuefengs Tutorial gelernt. Wenn Sie nicht verstehen, wie Sie ein Modul anpassen, werfen wir zunächst einen Blick auf die grundlegende Einführung:
Module
In die Entwicklung von Computerprogrammen Je mehr Programmcode geschrieben wird, desto länger wird der Code in einer Datei, wodurch die Wartung immer schwieriger wird.
Um wartbaren Code zu schreiben, gruppieren wir viele Funktionen und legen sie in verschiedene Dateien ab. Auf diese Weise enthält jede Datei relativ wenig Code. In Python wird eine .py-Datei als Modul bezeichnet.
Welche Vorteile bietet der Einsatz von Modulen?
Der größte Vorteil besteht darin, dass es die Wartbarkeit des Codes erheblich verbessert. Zweitens müssen Sie beim Schreiben von Code nicht bei Null anfangen. Wenn ein Modul geschrieben wird, kann es an anderer Stelle referenziert werden. Wenn wir Programme schreiben, beziehen wir uns häufig auf andere Module, einschließlich der in Python integrierten Module und Module von Drittanbietern.
Durch die Verwendung von Modulen können auch Konflikte zwischen Funktionsnamen und Variablennamen vermieden werden. Funktionen und Variablen mit demselben Namen können in verschiedenen Modulen vorhanden sein. Wenn wir das Modul selbst schreiben, müssen wir daher nicht berücksichtigen, dass der Name mit anderen Modulen in Konflikt steht. Achten Sie aber auch darauf, dass es nicht zu Konflikten mit integrierten Funktionsnamen kommt. Klicken Sie hier, um alle integrierten Funktionen von Python anzuzeigen.
Sie denken vielleicht auch: Was wäre, wenn verschiedene Leute Module mit demselben Namen schreiben? Um Konflikte bei Modulnamen zu vermeiden, hat Python eine Methode zum Organisieren von Modulen nach Verzeichnis eingeführt, die als Paket bezeichnet wird.
Zum Beispiel ist eine Datei abc.py ein Modul namens abc und eine Datei xyz.py ist ein Modul namens xyz.
Angenommen, unsere beiden Modulnamen abc und xyz stehen in Konflikt mit anderen Modulen, sodass wir die Module durch Pakete organisieren können, um Konflikte zu vermeiden. Die Methode besteht darin, einen Paketnamen der obersten Ebene auszuwählen, z. B. mycompany, und ihn im folgenden Verzeichnis zu speichern:
mycompany
├─ __init__.py
├─ abc.py
└─ xyz.py
Nach der Einführung des Pakets treten keine Konflikte mit anderen Modulen auf, solange der Paketname der obersten Ebene nicht mit anderen in Konflikt steht. Jetzt wird der Modulname von abc.py zu mycompany.abc, ebenso wird der Modulname von xyz.py zu mycompany.xyz.
Bitte beachten Sie, dass sich unter jedem Paketverzeichnis eine Datei __init__.py befindet. Diese Datei muss vorhanden sein, andernfalls behandelt Python dieses Verzeichnis als normales Verzeichnis und nicht als Paket. __init__.py kann eine leere Datei sein oder Python-Code enthalten, da __init__.py selbst ein Modul ist und sein Modulname mycompany ist.
Ebenso kann es mehrstufige Verzeichnisse geben, um eine mehrstufige Paketstruktur zu bilden. Beispielsweise die folgende Verzeichnisstruktur:
mycompany
├─ web
│ ├─ __init__.py
│ ├─ utils.py
│ └─ www.py
├ ─ __init__.py
├─ abc.py
└─ xyz.py
Der Modulname der Datei www.py ist mycompany.web.www und die Modulnamen der Die beiden Dateien utils.py sind jeweils mycompany.utils und mycompany.web.utils.
Wenn Sie Ihr eigenes Modul erstellen, sollten Sie auf die Benennung achten, da diese nicht mit dem mit Python gelieferten Modulnamen in Konflikt geraten darf. Wenn das System beispielsweise mit dem sys-Modul geliefert wird, darf Ihr Modul nicht sys.py heißen, da Sie sonst das mit dem System gelieferte sys-Modul nicht importieren können.
mycompany.web ist ebenfalls ein Modul. Bitte weisen Sie auf die diesem Modul entsprechende .py-Datei hin.
Zusammenfassung
Ein Modul ist eine Sammlung von Python-Codes, die andere Module verwenden können und auch von anderen Modulen verwendet werden können.
Bitte beachten Sie beim Erstellen Ihres eigenen Moduls:
Der Modulname muss der Python-Variablennamenskonvention folgen und darf keine chinesischen oder Sonderzeichen verwenden
Starten
Der erste Weg ist der direkte Import
Hier gibt es eine wichtige Voraussetzung , das heißt, Ihre py-Ausführungsdatei und Ihr Modul gehören zum selben Verzeichnis (übergeordnetes Verzeichnis), wie unten gezeigt:Ich habe die vom pwcong-Modul bereitgestellten Funktionen in __init__.py geschrieben, das nur eine Hi-Funktion bereitstellt:
# pwcong 模块的 __init__.py # -*- coding: utf-8 -*- def hi(): print("hi")
Führen Sie die Datei main.py aus, um das Modul direkt zu importieren :
# main.py # -*- coding: utf-8 -*- import pwcong pwcong.hi()
Dann führen wir main.py aus und wir können sehen, dass das Befehlszeilenfenster den Satz „hi“ ausgibt. Die erste Methode ist abgeschlossen.
Die Art und Weise, das Modul zu verwenden, ist: Zuerst importieren -> dann die module.variable|Funktion eingeben, wie z. B. pwcong.hi() im obigen Beispiel
Zweitens importieren Sie den Pfad des benutzerdefinierten Moduls über das sys-Modul
Wenn sich die ausführbare Datei und das Modul nicht im selben Verzeichnis befinden, kann das benutzerdefinierte Modul nicht gefunden werden Direktimport. Wie unten gezeigt:
Die Ausführungsdatei main.py befindet sich im Hauptverzeichnis
Der pwcong Modul befindet sich im Python-Verzeichnis Weiter
Das sys-Modul ist in Python integriert, daher sind die Schritte für uns zum Importieren eines benutzerdefinierten Moduls wie folgt:
Importieren Sie zuerst das Systemmodul
Dann verwenden Sie die Funktion sys.path.append(path)
, um das Verzeichnis zu importieren, in dem sich das benutzerdefinierte Modul befindet
Importieren Sie das benutzerdefinierte Modul.
Zu diesem Zeitpunkt wird main.py wie folgt geschrieben:
# main.py # -*- coding: utf-8 -*- import sys sys.path.append(r"C:\Users\Pwcong\Desktop\python") import pwcong pwcong.hi()
Führen Sie schließlich die Datei main.py aus und geben Sie schließlich hi aus. Die zweite Methode ist abgeschlossen .
Die dritte Methode besteht darin, das benutzerdefinierte Modul über die pth-Datei zu finden
Das Prinzip dieser Methode besteht darin, Systemvariablen zu verwenden, um den Pfad zu scannen Variable zum Importieren des Moduls. Sie können es dem Systempfad hinzufügen. Ich empfehle jedoch weiterhin die Verwendung der pth-Datei-Ergänzung.
Die Modul- und ausführbare Dateiverzeichnisstruktur ist die gleiche wie im Bild unten:
Die ausführbare Datei main.py befindet sich in das Hauptverzeichnis
Das pwcong-Modul befindet sich im Python-Verzeichnis
Wir erstellen eine module_pwcong.pth-Datei, deren Inhalt das Verzeichnis ist wo sich das pwcong-Modul befindet:
C:UsersPwcongDesktoppython
Legen Sie die Datei module_pwcong.pth hier ab:
Python-Installationsverzeichnis Python35Libsite-packages
Zum Beispiel meins:
Dann importiert und verwendet main.py das benutzerdefinierte Modul:
# -*- coding: utf-8 -*- import pwcong pwcong.hi()
Führen Sie schließlich das aus Mit der main.py-Datei können Sie die Ausgabe auf die dritte Art und Weise beenden.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von drei Methoden zum Importieren benutzerdefinierter Module in Python3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!