example - return docstring python
¿PEP 257 docstring recortar en la biblioteca estándar? (1)
Al buscar una respuesta a una pregunta relacionada, logré encontrar la respuesta a esta. El algoritmo de trim
se implementa en inspect.cleandoc
, de todos los lugares.
PEP 257 dice:
Las herramientas de procesamiento de la cadena de documentación eliminarán una cantidad uniforme de sangría de la segunda línea y de otras líneas de la cadena de documentación, igual a la sangría mínima de todas las líneas que no estén en blanco después de la primera línea. Cualquier sangría en la primera línea de la cadena de documentación (es decir, hasta la primera nueva línea) es insignificante y se elimina. Se conserva la sangría relativa de las líneas posteriores en la cadena de documentación. Las líneas en blanco deben eliminarse desde el principio y el final de la cadena de documentación.
Una función que implementa este algoritmo se muestra en el PEP.
Puedo encontrar preguntas donde las personas preguntan cómo dar formato a las cadenas de documentos y las remiten a PEP 257 (por ejemplo, this ). También veo información sobre herramientas que intentan asegurar que sus cadenas de documentación sigan el PEP 257 (por ejemplo, this ). Lo que no puedo encontrar es cualquier biblioteca de Python que en realidad sea una "herramienta de procesamiento de cadenas de documentos" que maneje las cadenas de documentos de la forma definida en PEP 257 --- o al menos, no puedo encontrar una herramienta que realice esta funcionalidad de procesamiento de cadenas de documentos directamente disponible.
¿Existe la función de trim
muestra en PEP 257 en la biblioteca estándar? Obviamente, yo mismo puedo pegar la función en un archivo, pero preferiría usarla desde la biblioteca estándar si estoy usando otra computadora donde quiero esta funcionalidad, en lugar de copiar y pegar siempre desde el PEP. Dado que la función está en un PEP coautor de la BDFL, habría pensado que habría alguna biblioteca oficial o semioficial que hace esto.
La razón por la que quiero esto es escribir un decorador que haga un cambio de formato interno de Python de las cadenas de documentación de las clases / funciones. No quiero generar HTML o cualquier otra cosa; Solo quiero cambiar las cadenas de documentación reales de los objetos reales. Quiero tomar el atributo __doc__
texto sin __doc__
de un objeto de Python y reformatearlo en algo que sirva como atributo __doc__
texto sin __doc__
de un objeto de Python.