[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