Python-Module und -Pakete: Organisieren von Codeprojekten

Verstehen Sie Python-Module und -Pakete. Erfahren Sie, wie Sie Dateien importieren, große Projekte strukturieren, die Standardbibliothek nutzen und absolute bzw. relative Importe verwenden.

Versuchen Sie es im Editor

Übersicht

Wenn Anwendungen wachsen, wird es unmöglich, den gesamten Code in einer einzigen Datei zu verwalten, zu lesen und zu debuggen. Python löst dieses Problem, indem es Code in Modulen und Paketen organisiert. Ein Modul ist einfach eine Python-Datei (mit der Endung „.py“), die Variablen, Funktionen, Klassen und ausführbare Anweisungen enthält. Durch die Aufteilung des Codes in logische Module können Sie eine saubere, wiederverwendbare Codebasis erstellen, die sich einfach testen und über verschiedene Anwendungen hinweg teilen lässt.

Um Code aus einem Modul in einem anderen zu verwenden, verwendet Python das Schlüsselwort „import“. Sie können ein ganzes Modul importieren (z. B. „Mathe importieren“), bestimmte Attribute importieren (z. B. „from math import pi, sqrt“) oder ein Modul unter einem Alias ​​importieren, um den Code prägnant zu halten (z. B. „Pandas als pd importieren“). Das Importsystem von Python durchsucht eine bestimmte Pfadliste, beginnend mit dem aktuellen Verzeichnis, gefolgt von Installationsverzeichnissen und der Standardbibliothek, bevor es den Import auflöst.

Ein Paket ist eine Sammlung von Modulen, die in einer Verzeichnisstruktur organisiert sind. Um ein Verzeichnis als Paket zu definieren, enthielt es traditionell eine Datei mit dem Namen „__init.py“ (obwohl dies für Namespace-Pakete inPython 3.3+ optional ist). Mit dieser Struktur können Sie verwandte Module unter einem einzigen Namensraum gruppieren. Beispielsweise könnte ein Paket mit dem Namen „database“ die Module „connection.py“ und „queries.py“ enthalten. Sie würden ihre Inhalte mithilfe der Punktnotation importieren: „import Database.connection“. Die Beherrschung von Modulen und Paketen ist der Schlüssel zur Strukturierung skalierbarer, produktionsbereiter Python-Anwendungen.

Code- und Ausführungsausgabe

Verwendung des Importsystems von Python für den Zugriff auf mathematische Funktionen und Verwendung benutzerdefinierter Aliase.

import math
from math import sqrt as square_root

# Calculate mathematical constants and values
val = 16
result = square_root(val)
pi_value = math.pi

print(f"Square root of {val} is {result}")
print(f"Value of Pi: {pi_value:.4f}")
print(f"Cosine of 0 is {math.cos(0)}")
Terminal-Ausgabe
Square root of 16 is 4.0
Value of Pi: 3.1416
Cosine of 0 is 1.0

Schrittweise Umsetzung

  • Geschäftslogik von Routenhandlern trennen
  • Nutzung von Standardbibliotheksdienstprogrammen für alle Anwendungen
  • Code als wiederverwendbare Open-Source-Bibliotheken veröffentlichen

Häufig gestellte Fragen

Was ist der Zweck von __init.py?

Es initialisiert ein Verzeichnis als Python-Paket. Es kann auch verwendet werden, um bestimmte Submodule oder Variablen auf Paketebene verfügbar zu machen und so den Import zu erleichtern.

Wie installiere ich externe Module?

Sie verwenden Pythons Paketmanager pip über die Befehlszeile (z. B. pip-Installationsanfragen), der das Paket von PyPI herunterlädt und installiert.

Verwandte Themen

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.