2012-03-02 15 views
14

Sto cercando di pulire la mia documentazione del codice Python e ho deciso di usare sphinx-doc perché sembra buono. Mi piace come posso fare riferimento altre classi e metodi con tag come:Come documentare i parametri della funzione Python con sphinx-apidoc

:class:`mymodule.MyClass` About my class. 
:meth:`mymodule.MyClass.myfunction` And my cool function 

Sto cercando di capire se come documentare i nomi dei parametri in una funzione, in modo che se ho una funzione come:

def do_this(parameter1, parameter2): 
    """ 
    I can describe do_this. 

    :something?:`parameter1` And then describe the parameter. 

    """ 

Qual è la migliore pratica per questo?

Aggiornamento:

La sintassi corretta è:

def do_this(parameter1, parameter2): 
    """ 
    I can describe do_this. 

    :something parameter1: And then describe the variable 
    """ 
+1

Questi sono chiamati "elenchi di campi di informazioni". Vedi anche http://stackoverflow.com/questions/4547849/good-examples-of-python-docstrings-for-sphinx – gotgenes

+0

Controlla il [Napolean] (http://www.sphinx-doc.org/en/stable /ext/napoleon.html) estensione per Sphinx, che consente le stringhe doc in [stile Google o Numpy] (http://www.sphinx-doc.org/en/stable/ext/napoleon.html#google-vs- numpy), entrambi sembrano più belli di quella semplice Sfinge. – cbare

+0

Anche di interesse: http://www.pydev.org/manual_adv_type_hints.html –

risposta

9

Tipicamente "variabili della funzione" sono chiamati parametri;).

E 'documentato qui: http://sphinx.pocoo.org/domains.html#signatures

E la risposta è :param ________

EDIT Disclaimer: io ho mai usato o sentito parlare di sfinge ... Questo post è per lo più una "cosa parole da cercare ". Spero che abbia aiutato.

+0

Grazie ... Stavo cercando la cosa sbagliata. Avevo provato il parametro ad un certo punto, ma continuavo a ricevere errori e non mi ero reso conto che la sintassi non fosse: param: 'variable1', ma: param variable1: –

+1

http://sphinx-doc.org/domains.html#id1 e https://pythonhosted.org/an_example_pypi_project/sphinx.html#function-definitions – ddotsenko

+1

Convenzioni per la documentazione di parametri complessi (elenchi, dicts, ecc.) - https://www.jetbrains.com/pycharm/webhelp/type-hinting-in -pycharm.html – ddotsenko

1

L'aggiunta di questa risposta per consolidare opzioni:

pydoc è semplice, senza particolari formattazione

epydoc utilizza il formato '@param var:'

Doxygen è orientato per una gamma più ampia di linguaggi

Sphinx utilizza il formato ': param tipo var:'. Vedi anche more examples. Questo è stato utilizzato per creare lo Python 3.5 documentation.

Problemi correlati