2008-12-18 14 views
13

El proyecto de ampolla usa algunas etiquetas en docstring, como las de javadoc.¿Qué son estas etiquetas @ivar @param y @type en python docstring?

Por ejemplo pool.py de la línea 86:

def start(self, ampChild=None): 
    """ 
    Starts the ProcessPool with a given child protocol. 

    @param ampChild: a L{ampoule.child.AMPChild} subclass. 
    @type ampChild: L{ampoule.child.AMPChild} subclass 
    """ 

¿Cuáles son estas etiquetas, que la herramienta utiliza.

Respuesta

13

Marcado de una herramienta de documentación, probablemente epydoc.

+2

Sí, que se explican en http://epydoc.sourceforge.net/manual-fields.html –

11

Solo por diversión, señalaré que la biblioteca estándar de Python usa Sphinx/reStructuredText, cuyas info field lists son similares.

def start(self, ampChild=None): 
    """Starts the ProcessPool with a given child protocol. 

    :param ampChild: a :class:`ampoule.child.AMPChild` subclass. 
    :type ampChild: :class:`ampoule.child.AMPChild` subclass 
    """ 
+4

¿Cuántos de convección para el mismo lenguaje de programación! Cosa mala. –

+6

@Andrea Francia: Epydoc es muy liviano (ni siquiera tan poderoso como reStructuredText) y se desarrolló mucho antes de que se adoptara reStructuredText como estándar. Ambos tienen buenas razones para existir, aunque recomendaría a los usuarios que utilicen reStructuredText a partir de ahora. – cdleary

+0

Y también está la notación ligera mencionada en PEP 257, que no está dirigida a las herramientas, sino a la legibilidad humana. –

Cuestiones relacionadas