English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Grundlegende Python-Tutorials

Flusskontrolle in Python

Python Funktion

Python Datentypen

Dateioperationen in Python

Python-Objekte und Klassen

Python-Daten und Zeit

Fortgeschrittene Kenntnisse in Python

Python-Referenzhandbuch

Python Paket (Package)

In diesem Artikel werden Sie lernen, wie Sie mit Python-Paketen Codebibliotheken in saubere und effiziente Module unterteilen. Außerdem werden Sie lernen, wie Sie Ihre eigenen oder Drittanbieter-Pakete in Python-Programmen importieren und verwenden.

Was ist ein Paket (Package)?

Wir speichern normalerweise nicht alle Dateien an einem Ort. Wir verwenden eine gut organisierte Verzeichnisanstruktur, um den Zugriff zu erleichtern.

Ähnliche Dateien werden im gleichen Verzeichnis gespeichert, z.B. können wir alle Lieder im Verzeichnis "music" behalten. Ähnlich dazu hat Python Softwarepakete für Verzeichnisse und für DateienModul.

Mit zunehmender Größe unserer Anwendung und mit vielen Modulen platzieren wir ähnliche Module in einem Paket und verschiedene Module in verschiedenen Paketen. Dies macht das Projekt (Programm) leichter zu verwalten und klarer im Konzept.

Ähnlich wie Verzeichnisse, die Unterordner und Dateien enthalten können, können Python-Pakete Unterpakete und Module haben.

Das Verzeichnis muss eine Datei namens __init__.py enthalten, damit Python es als Paket erkennt. Diese Datei kann leer gelassen werden, aber wir fügen normalerweise die Initialisierungscode des Pakets in diese Datei ein.

Dies ist ein Beispiel. Angenommen, wir entwickeln ein Spiel, dann könnte die Organisation der Pakete und Module wie im folgenden Diagramm gezeigt werden.

Modul aus dem Paket importieren

Wir können den Punkt-Operator (.) verwenden, um Module aus dem Paket zu importieren.

Zum Beispiel, wenn Sie den Modul start in dem obigen Beispiel importieren möchten, befolgen Sie die folgenden Schritte.

import Game.Level.start

Jetzt, wenn das Modul eine Funktion namens select_difficulty() enthältFunktion, müssen wir den vollständigen Namen verwenden, um auf es zu verweisen.

Game.Level.start.select_difficulty(2)

Wenn dieser Konstrukt sehr langweilig aussieht, können wir den Modul ohne Paketpräfix wie folgt importieren.

from Game.Level import start

Jetzt können wir die Funktion einfach wie folgt aufrufen.

start.select_difficulty(2)

Eine andere Methode, um nur die erforderlichen Funktionen (oder Klassen oder Variablen) aus dem Modul eines Pakets zu importieren, ist wie folgt.

from Game.Level.start import select_difficulty

Jetzt können wir diese Funktion direkt aufrufen.

select_difficulty(2)

Obwohl dies relativ einfach ist, wird die Verwendung dieser Methode nicht empfohlen. Verwenden Sie vollständigNamensraumum Verwirrung zu vermeiden und Konflikte zwischen zwei identischen Identifikatornamen zu verhindern.

Bei der Importierung eines Pakets überprüft Python die Liste der Verzeichnisse, die in sys.path definiert sind, ähnlich wieModulsuchpfad.