Formaty
Dokumenty w języku Python można pisać w kilku formatach, jak pokazały inne posty. Jednak domyślny format tekstowy Sphinx nie został wymieniony i jest oparty na reStructuredText (reST) . Informacje o głównych formatach można znaleźć w tym poście na blogu .
Zauważ, że reST jest zalecany przez PEP 287
Poniżej podano najczęściej używane formaty dokumentów.
- Epitext
Historycznie dominował styl podobny do javadoc , więc został on przyjęty jako podstawa dla Epydoc (w tak zwanym Epytext
formacie) do generowania dokumentacji.
Przykład:
"""
This is a javadoc style.
@param param1: this is a first param
@param param2: this is a second param
@return: this is a description of what is returned
@raise keyError: raises an exception
"""
- reszta
Obecnie prawdopodobnie bardziej rozpowszechnionym formatem jest format reStructuredText (reST), który jest używany przez Sphinx do generowania dokumentacji. Uwaga: jest domyślnie używany w JetBrains PyCharm (wpisz potrójne cudzysłowy po zdefiniowaniu metody i wciśnij Enter). Jest również domyślnie używany jako format wyjściowy w płatności.
Przykład:
"""
This is a reST style.
:param param1: this is a first param
:param param2: this is a second param
:returns: this is a description of what is returned
:raises keyError: raises an exception
"""
- Google
Google ma własny format, który jest często używany. Może być również interpretowany przez Sphinx (tj. Przy użyciu wtyczki Napoleon ).
Przykład:
"""
This is an example of Google style.
Args:
param1: This is the first param.
param2: This is a second param.
Returns:
This is a description of what is returned.
Raises:
KeyError: Raises an exception.
"""
Jeszcze więcej przykładów
- Numpydoc
Pamiętaj, że Numpy zaleca stosowanie własnego numpydoc opartego na formacie Google i używanego przez Sphinx.
"""
My numpydoc description of a kind
of very exhautive numpydoc format docstring.
Parameters
----------
first : array_like
the 1st param name `first`
second :
the 2nd param
third : {'value', 'other'}, optional
the 3rd param, by default 'value'
Returns
-------
string
a value in a string
Raises
------
KeyError
when a key error
OtherError
when an other error
"""
Konwertowanie / generowanie
Możliwe jest użycie narzędzia, takiego jak Pyment, do automatycznego generowania dokumentów do projektu w języku Python, który nie został jeszcze udokumentowany, lub do konwersji istniejących dokumentów (z możliwością mieszania kilku formatów) z jednego formatu na inny.
Uwaga: przykłady pochodzą z dokumentacji płatności