una resueltos que programacion poo otra orientada objetos metodo llamar importar ejercicios constructores clases clase python python-3.6 python-sphinx autodoc sphinx-napoleon

resueltos - programacion orientada a objetos python pdf



Documentación de atributos de clase con anotaciones de tipo. (1)

Quiero autogenerar documentación a mi código desde docstrings. Tengo alguna clase básica destinada a almacenar algunos datos:

class DataHolder: """ Class to hold some data Attributes: batch: Run without GUI debug (bool): Show debug messages """ batch: bool = False debug: bool = False name: str = ''default'' """Object name""" version: int = 0 """int: Object version"""

Mi rst archivo:

DataHolder ========== .. autoclass:: data_holder.DataHolder :members:

He documentado cada atributo de una manera diferente para mostrar la diferencia, aquí está el resultado:

Parece que Sphinx no puede conectar la sección de Attributes con los atributos reales, por eso no puede mostrar su valor predeterminado.

El resultado final que me gustaría lograr es el resultado para el campo de version con la cadena de documentación definida como para batch . Quiero mostrar el nombre del atributo con el valor y tipo predeterminados, pero tomado de las anotaciones de tipo. Parece que Sphinx está ignorando las anotaciones de tipo en este caso.

Mis extensiones de esfinge:

extensions = [ ''sphinx.ext.viewcode'', ''sphinx.ext.autodoc'', ''sphinxcontrib.napoleon'', ]

¿Qué puedo hacer para lograr tal comportamiento? No puedo encontrar ningún buen ejemplo para tal caso de uso.


Hay una biblioteca incorporada para la generación de documentos desde doc_strings.

https://docs.python.org/2/library/pydoc.html

Todo lo que necesitas es ejecutar

$ pydoc <modulename>

Da una hermosa documentación que enumera las cadenas de documentos, define los parámetros y los valores de retorno. Sólo dale una oportunidad.