formati
I docstring di Python possono essere scritti seguendo diversi formati, come mostrato dagli altri post. Tuttavia, il formato di dotstring predefinito Sphinx non è stato menzionato ed è basato su reStructuredText (reST) . Puoi ottenere alcune informazioni sui principali formati in questo post del blog .
Si noti che il reST è raccomandato dal PEP 287
Segue i principali formati utilizzati per i docstring.
- Epytext
Storicamente uno stile javadoc era prevalente, quindi è stato preso come base per Epydoc (con il Epytext
formato chiamato ) per generare documentazione.
Esempio:
"""
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
"""
- riposo
Al giorno d'oggi, il formato probabilmente più diffuso è il formato reStructuredText (reST) utilizzato da Sphinx per generare documentazione. Nota: viene utilizzato per impostazione predefinita in JetBrains PyCharm (digitare virgolette triple dopo aver definito un metodo e premere invio). Viene anche utilizzato di default come formato di output in Pyment.
Esempio:
"""
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 ha il suo formato che viene spesso utilizzato. Può anche essere interpretato da Sphinx (cioè usando il plugin Napoleon ).
Esempio:
"""
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.
"""
Ancora più esempi
- Numpydoc
Nota che Numpy consiglia di seguire il proprio numpydoc basato sul formato di Google e utilizzabile da 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
"""
Conversione / Generazione
È possibile utilizzare uno strumento come Pyment per generare automaticamente docstring in un progetto Python non ancora documentato, o convertire i dotstring esistenti (possono mescolare diversi formati) da un formato a un altro.
Nota: gli esempi sono tratti dalla documentazione di Pyment