Ich habe ein Modul, das ungefähr so aussieht:
%Vor% ... und ich habe eine .rst
-Datei, die ungefähr so aussieht:
Wenn ich die Dokumentation erstelle, erhalte ich eine HTML-Datei mit einem Ausschnitt, der so aussieht:
mymodule.foobar. foobar = 'Eine absurd lange und hässliche Regex hier'
Zusätzliche Dokumentation hier
mymodule. myfunc ( val = 'Eine absurd lange und hässliche Regex hier )
blah bla bla
Basierend auf diesem Stack-Overflow-Post , Ich dachte, ich könnte es ändern, indem ich mein Modul ändere:
%Vor%... aber das hat nicht funktioniert, und nur die Unterschrift, die ich wollte, unter die hässliche als Teil des Körpers angehängt. Weiß jemand, wie ich das richtig übersteuern kann?
(Ich benutze Sphinx v1.1.3, btw.)
Sie haben eine Variable auf Modulebene, die als Standardwert für ein Schlüsselwortargument in einer Funktion verwendet wird. Sphinx zeigt den Wert (anstelle des Namens) dieser Variablen in der Funktionssignatur an. Dieses Problem wird in einer anderen Frage diskutiert, und das OP hat auch ein Problem Ticket bei GitHub darüber.
Sie können dies jedoch auf zwei Arten umgehen:
Überschreiben Sie die Signatur in der .rst-Datei mit autofunction
, wie in der Antwort erläutert die verknüpfte Frage.
Wenn die erste Zeile des Docstrings wie eine Signatur aussieht und wenn die autodoc_docstring_signature Konfigurationsvariable ist ist auf True
eingestellt (was standardmäßig ist), dann wird Sphinx diese Zeile als Signatur verwenden.
Wenn Sie also einen Docstring haben, der wie folgt aussieht,
%Vor%sollte so funktionieren, wie Sie es wollen.
In der Frage haben Sie diese erste Zeile im Docstring:
%Vor%Dies funktioniert nicht, da es nicht wie eine richtige Signatur aussieht.
Tags und Links python python-sphinx documentation