Multi-line-Beschreibung der parameter Beschreibung in python docstring
So, reStructuredText ist
der empfohlene Weg für Python-code
Dokumentation, wenn Sie hart genug versuchen, Sie können
finden Sie in der sphinx-Dokumentation
wie zu normalisieren Ihre Funktion Unterschrift-Dokumentation. Alle angegebenen Beispiele sind
single-line, aber was ist, wenn ein parameter Beschreibung multi-Zeile wie die folgende
?
def f(a, b):
""" Does something with a and b
:param a: something simple
:param b: well, it's not something simple, so it may require more than eighty
chars
"""
Was ist die syntax/Konvention für das ? Sollte ich Einrücken oder nicht ? wird es brechen, reSTructuredText-rendering ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint, dass, wenn Sie Einrücken von zumindest einer Ebene relativ zu dem :param: Richtlinie, es wird nicht brechen, reSTructuredText-rendering. Persönlich, ich bevorzugen, richten Sie alle zusätzlichen Zeilen, um die erste Zeile Beschreibung der parameter.
Beachten Sie, dass der reST auch ignorieren, neue Linien und machen Ihren text ohne Ihre Zeilenumbrüche.
Leider konnte ich nicht finden, eine Quelle wäre zu erwähnen, dass dieses Problem oder geben Sie ein Beispiel einer multi-line :param: Beschreibung.
einfach newline, wo Sie wollen die Linie zu brechen.
Gute Forschung aus der Original-Poster. Ist es eine überraschung, dass die
canonical-sphinx Dokumentation nicht mit einer multi-line-Beispiel params, trotz der Tatsache, dass multi-line-Dokument ist unvermeidlich, aufgrund der
79-Charakter-Richtlinie in PEP8.
In der Praxis, wenn man bedenkt, dass Ihre parameter name selbst ist in der Regel eine
word
oder sogar mehrsnake_case_words
, vorangestellt, die bereits mehrere<4 or 8+ spaces> :param
ist, wäre es klug, um die nächste Zeile Einrücken, für die nur eine Stufe (also 4 Räume), was mit der "hängende Einzüge" style metioned inPEP 8.
PS: Sie können ihn in Aktion zu sehen, zum Beispiel,
hier.
Sphinx abholen können diejenigen, docstrings und erzeugt
docs ohne Problem.
Ja, scheint, wie jede bequeme für Sie die Einrückung funktioniert für Sphinx und pep8 nicht argumentieren. Auch, wenn Sie nicht wollen, eine Beschreibung multiline-in produzierten Dokumentation können Sie verwenden, Python-traditionelle Linie breakes mit
\
:Signaturen rendering basiert auf docutils Feld Listen. Der link enthält Beispiele zum Einzug, zum Beispiel, wenn Sie möchten, Ihr Einzelteil Beschreibung, um eine in Elemente untergliederte oder Aufzählung.