2 Stimmen

Was bedeuten nackte Zeichenfolgen im Körper einer Klassendefinition?

Hier ist ein Code-Schnipsel aus django.core.exceptions:

class MiddlewareNotUsed(Exception):
    "Dieses Middleware wird in dieser Server-Konfiguration nicht verwendet"
    pass

Ist der einfache String im Körper der Klasse nur ein Literal für die Dokumentation? Oder führt er irgendeine Magie aus?

8voto

UncleZeiv Punkte 17632

Es ist ein Dokument-String:

Ein Docstring ist eine Zeichenfolge, die als erste Anweisung in einer Modul-, Funktions-, Klassen- oder Methodendefinition vorkommt. Ein solcher Docstring wird zum __doc__ speziellen Attribut dieses Objekts.

Alle Module sollten normalerweise Docstrings haben, und alle Funktionen und Klassen, die von einem Modul exportiert werden, sollten ebenfalls Docstrings haben. Öffentliche Methoden (einschließlich des __init__ Konstruktors) sollten ebenfalls Docstrings haben. Ein Paket kann im Modul-Docstring der __init__.py Datei im Paketverzeichnis dokumentiert werden.

2voto

Jochen Ritzel Punkte 99416

Es ist eine Docstring. Der einzige Zauber besteht darin, dass er auf dem Objekt als __doc__ landet.

1voto

mouad Punkte 63071

Es wird als Docstring bezeichnet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X