👉 Jetzt bei Amazon nach deinem nächsten Gaming PCs stöbern (Affiliate-Link – ich erhalte eine kleine Provision, für dich bleibt der Preis gleich)

 

In der Welt der Softwareentwicklung ist die Verständlichkeit von Code ein entscheidender Faktor, besonders wenn es um die Zusammenarbeit in Teams oder um das Veröffentlichen von Open-Source-Projekten geht. Eine Methode, die die Verständlichkeit von Python-Code erhöhen kann, sind Docstrings. Docstrings sind spezielle Kommentare, die direkt in einer Funktion oder Klasse stehen und einen Erklärungstext bereitstellen. Ziel dieses Blog Posts ist es, die Verwendung von Docstrings in Python durch ein einfaches Klassenbeispiel zu erklären. Am Ende werden wir betrachten, wie man mit Tools wie autodocs die generierte Dokumentation überprüft und verwendet.

Problemstellung

Stellen wir uns vor, wir wollen eine Python-Klasse für die Verwaltung eines einfachen Bankkontos erstellen. Unsere Klasse soll Methoden zum Einzahlen, Abheben und Überprüfen des Kontostandes bieten. Dabei werden wir die Methoden mit Docstrings dokumentieren, so dass spätere Benutzer leicht verstehen können, wie diese anzuwenden sind.

Lösung des Problems

Erstellen der BankAccount-Klasse

Zunächst definieren wir unsere BankAccount-Klasse mit den grundlegenden Methoden. Jede Methode wird mit einem Docstring ergänzt.

class BankAccount:
    """
    Eine einfache Klasse zur Verwaltung eines Bankkontos.
    """

    def __init__(self, owner, balance=0.0):
        """
        Initialisiert ein neues Bankkonto.
        
        :param owner: Der Name des Kontoinhabers.
        :param balance: Das Startguthaben des Kontos (Standard ist 0.0).
        """
        self.owner = owner
        self.balance = balance

    def deposit(self, amount):
        """
        Methode zum Einzahlen eines Betrags auf das Konto.
        
        :param amount: Der Betrag, der eingezahlt werden soll.
        :return: Der neue Kontostand nach der Einzahlung.
        """
        if amount > 0:
            self.balance += amount
            return self.balance
        else:
            return "Einzahlungsbetrag muss positiv sein."

    def withdraw(self, amount):
        """
        Methode zum Abheben eines Betrags vom Konto.
        
        :param amount: Der Betrag, der abgehoben werden soll.
        :return: Der neue Kontostand nach der Abhebung oder eine Fehlernachricht.
        """
        if 0 < amount <= self.balance:
            self.balance -= amount
            return self.balance
        else:
            return "Abhebung nicht möglich: unzureichendes Guthaben oder ungültiger Betrag."

    def get_balance(self):
        """
        Gibt den aktuellen Kontostand zurück.
        
        :return: Der aktuelle Kontostand.
        """
        return self.balance
Code-Sprache: Python (python)

Erläuterung des Codes

  • Klasseninitialisierung: Der __init__-Methode dient zur initialen Einrichtung des Bankkontos. Die Parameter owner und balance werden genutzt, um den Kontoinhaber und das Startguthaben festzulegen. Der entsprechende Docstring erklärt die Funktion und die Parameter.
  • Einzahlen und Abheben: Die Methoden deposit und withdraw ermöglichen finanzielle Transaktionen. Ihre Docstrings bieten Details zu den Parametern und Rückgabewerten, sowie zu Bedingungen, die geprüft werden, bevor Aktionen ausgeführt werden.
  • Kontostand abfragen: Die Methode get_balance liefert einfach den aktuellen Kontostand zurück.

Überprüfung der Dokumentation mit autodocs

Um die Nützlichkeit der Docstrings zu untersuchen und zu überprüfen, wie diese in einer dokumentationsfreundlicher Weise dargestellt werden können, verwenden wir Tools wie autodocs oder Sphinx.

Installation von Sphinx

Falls noch nicht geschehen, installieren Sie das Sphinx-Tool:

pip install sphinxCode-Sprache: Bash (bash)

Generierung der Dokumentation

Erzeugen Sie die Dokumentation mit Hilfe von Sphinx oder einem ähnlichen Tool, um die Docstrings zu extrahieren und in ein benutzerfreundliches Format zu bringen. Weitere Details zur Benutzung finden Sie in den Sphinx-Dokumentationen.

Weiterführende Links

Durch die Einführung und Erklärung von Docstrings und deren Implementierung in Python-Klassen ist es möglich, für sich selbst und für andere eine klare und verständliche Dokumentation des Codes zu erstellen. Nutzen Sie Docstrings in Ihren Projekten, um die Codequalität langfristig zu sichern und zu verbessern.