Erstellen eigener Python-Module

You are here:

In diesem Kapitel werden wir uns ansehen, wie Du eigene Module erstellst, um Deinen Code besser zu strukturieren und wiederverwendbar zu machen. Wir werden auch einige Best Practices besprechen, um Deine Module übersichtlich und effizient zu gestalten.

Einfache Module erstellen

Um ein einfaches Modul zu erstellen, legst Du eine neue Python-Datei (`.py`-Datei) an und schreibst Deinen Code hinein. Alle Funktionen, Klassen und Variablen, die Du in dieser Datei definierst, können dann in anderen Python-Skripten importiert werden. Hier ist ein einfaches Beispiel für ein Modul, das zwei Funktionen zur Verfügung stellt:

**berechnungen.py:**

def addiere(a, b):

    return a + b

def subtrahiere(a, b):

    return a - b

Um diese Funktionen in einem anderen Python-Skript zu verwenden, importierst Du das Modul und rufst die gewünschten Funktionen auf:

**main.py:**

import berechnungen

ergebnis1 = berechnungen.addiere(3, 4)

ergebnis2 = berechnungen.subtrahiere(7, 2)

Module mit mehreren Dateien

Für komplexere Projekte kannst Du Deine Module in mehrere Dateien aufteilen, die zusammenarbeiten. Erstelle dazu ein Verzeichnis für Dein Modul und füge eine `__init__.py`-Datei hinzu. Diese Datei signalisiert Python, dass es sich bei dem Verzeichnis um ein Modul handelt. Du kannst dann mehrere Python-Dateien in diesem Verzeichnis erstellen, die verschiedene Teile Deines Moduls enthalten.

Beispielstruktur:

“`

mein_modul/

    __init__.py

    berechnungen.py

    konstanten.py

“`

**berechnungen.py:**

def addiere(a, b):
    return a + b
def subtrahiere(a, b):
    return a - b

**konstanten.py:**

PI = 3.141592653589793

Um die Funktionen und Konstanten in Deinem Hauptskript zu verwenden, importierst Du sie wie gewohnt:

**main.py:**

from mein_modul.berechnungen import addiere, subtrahiere

from mein_modul.konstanten import PI

ergebnis1 = addiere(3, 4)

ergebnis2 = subtrahiere(7, 2)

kreisumfang = 2 * PI * 5

Best Practices für eigene Module

– **Namensgebung:** Verwende aussagekräftige Namen für Deine Module, Funktionen und Klassen. Vermeide allzu generische Namen, um Namenskonflikte mit anderen Modulen zu verhindern.

– **Dokumentation:** Schreibe Docstrings für Deine Funktionen, Klassen und Module, um deren Zweck und Verwendung zu erläutern. Dies erleichtert anderen Entwicklern (und Dir selbst) das Verständnis und die Wiederverwendung Deines Codes.

– **Modulare Struktur:** Teile Deinen Code in logische Einheiten auf und vermeide gigantische Module oder Dateien. Eine klare Struktur hilft dabei, den Überblick zu behalten und ermöglicht eine einfachere Wartung und Erweiterung Deines Codes.

– **Tests:** Schreibe Tests für Deine Module, um sicherzustellen, dass sie korrekt funktionieren und um mögliche Fehler frühzeitig zu erkennen. Dies ist besonders wichtig, wenn Du Deine Module in verschiedenen Projekten wiederverwendest.

– **Abhängigkeiten:** Vermeide übermäßige Abhängigkeiten zwischen Modulen, um die Wiederverwendbarkeit und Wartbarkeit zu verbessern. Wenn ein Modul viele andere Module benötigt, um zu funktionieren, kann dies die Komplexität erhöhen und die Flexibilität verringern.

Module veröffentlichen

Wenn Du glaubst, dass Dein Modul für andere Entwickler nützlich sein könnte, kannst Du es auf dem Python Package Index (PyPI) veröffentlichen. Hierzu benötigst Du ein Konto bei PyPI und das `setuptools`-Paket, um Dein Modul zu verpacken und hochzuladen. Eine ausführliche Anleitung zur Veröffentlichung von Modulen auf PyPI findest Du in der [Python Packaging User Guide](https://packaging.python.org/tutorials/packaging-projects/).

Zusammenfassend ist das Erstellen eigener Module in Python eine großartige Möglichkeit, um Deinen Code besser zu organisieren, wiederverwendbar zu machen und mit anderen Entwicklern zu teilen. Mit den oben beschriebenen Best Practices und Strukturen kannst Du effektive und leicht verständliche Module erstellen, die Deine Arbeit erleichtern und Deine Projekte verbessern.