[python] Dynamická dokumentace

Petr Prikryl PrikrylP na skil.cz
Čtvrtek Leden 18 14:08:19 CET 2007


Vaclav Vais
> 
> Ahoj, potřeboval bych vytvořit dynamickou dokumentaci k metodě.
> Asi takto bych si to představoval...:
> 
> class Trida:
>   def metoda(self):
>     o=JinyObjekt()
>     def __doc__():
>       return  o.jina_metoda.__doc__
>     return  o.jina_metoda()
> 
> print Trida().metoda.__doc__
> 
> Jde mi to, že metoda pouze volá jinou metodu a chci aby předávala i
> dokumentační řetězec.

Nerozumím přesně záměru, ale standardní __doc__ je atribut
(tj. datová složka) a ne metoda či funkce. Jako atribut
metody je dokumentační řetězec součástí definice třídě 
a nevlastní jej tedy instance. Proto by asi nebylo rozumné, 
aby jej někdo měnil. Proto to ani nejde ('... is not writable').

U obyčejné funkce to udělat jde, ale je to asi jen nedokonalost
Pythonu. Nenapadá mě důvod, který by takový obrat ospravedlnil.
Doporučuji zavést si vlastní atribut, který získá počáteční
hodnotu z __doc__ a ten pak měnit.

pepr


Další informace o konferenci Python