2009-08-13 11 views

Respuesta

7

Cualquier cadena de documentación está disponible a través de la .__doc__ propiedad:

>>> print str.__doc__ 

en Python 3, necesitará paréntesis para imprimir:

>>> print(str.__doc__) 
3

Puede utilizar dir( {nombre de la clase del relleno aquí} ) para obtener los contenidos de una clase y luego iterar sobre ella, buscando métodos u otras cosas. En este ejemplo se ve en una clase Task de métodos de arranque con el nombre cmd y obtiene su cadena de documentación:

command_help = dict() 

for key in dir(Task): 
    if key.startswith('cmd'): 
     command_help[ key ] = getattr(Task, key).__doc__ 
1

.__doc__ es la mejor opción. Sin embargo, también puede usar inspect.getdoc para obtener docstring. Una ventaja de usar esto es que elimina la sangría de las cadenas de texto que están sangradas para alinearse con bloques de código.

Ejemplo:

In [21]: def foo(): 
    ....:  """ 
    ....:  This is the most useful docstring. 
    ....:  """ 
    ....:  pass 
    ....: 

In [22]: from inspect import getdoc 

In [23]: print(getdoc(foo)) 
This is the most useful docstring. 

In [24]: print(getdoc(str)) 
str(object='') -> string 

Return a nice string representation of the object. 
If the argument is a string, the return value is the same object. 
Cuestiones relacionadas