tutorial software rst example español code python python-sphinx documentation-generation

python - software - ¿Puede la esfingola Napoleón la función de documento devolver múltiples argumentos?



sphinx tutorial (2)

El estilo de Google no admite múltiples valores de retorno. Como solución puede utilizar:

Returns: 2-element tuple containing - **rates** (*array*): the unnormalized rates (just the sum of the exponential kernels). To obtain rates in Hz divide the array by `2*tau` (or other conventional `x*tau` duration). - **nph** (*array*): number of photons in -5*tau..5*tau window for each timestamp. Proportional to the rate computed with KDE and rectangular kernel.

Esto da como resultado un buen resultado incluso con una descripción de varias líneas para cada artículo devuelto.

Estoy tratando de usar el estilo del código de Google para documentar una función para la que luego uso la esfinge con la extensión napoleón para crear documentación. La función es inusual ya que devuelve dos argumentos. No creo que Napoleón maneje esto. Si es así, ¿podría alguien decirme cómo lo manejan?

def foo(a): ''''''one line summary longer explanation Args: a (int): parameter description Returns: servers (list): list of servers to use msg (str): logging message string '''''' pass

Tal vez recibo un mensaje de que no es un gran estilo de codificación para devolver múltiples argumentos, pero ¿puedes hacer esto? El html generado trata esas dos líneas como parte de una descripción para un argumento. Si coloco una nueva línea entre los servidores y la línea de mensajes, esto ayuda, pero todavía está documentando un argumento.


Python solo devuelve un solo objeto. Si llamas

serv,msg = foo(myinput)

Entonces está expandiendo explícitamente la tupla de lista de expresión que se genera cuando la función regresa con este código

return servers,msg

Usted debe leer algo como esto (con el estilo de Google de Napoleón)

""" one line summary longer explanation Args: a (int): parameter description Returns: (tuple): tuple containing: servers(list) servers to use msg (str): logging message string """

O con el estilo Napoleon NumPy:

""" one line summary longer explanation Parameters ---------- a : int parameter description Returns ------- servers : list servers to use msg : str logging message string """

Echa un vistazo a los documentos de Python para el return y quizás expression_list