[python] vypis promennych dane instance
Petr Messner
petr.messner na gmail.com
Čtvrtek Červenec 9 16:03:54 CEST 2009
Osobně mě jako první napadl spíš dir (je to podle mě druhá
nejdůležitější funkce v Pythonu, hned po help), takto:
>>> class A:
... def __init__(self):
... self.a = 12
... self.z = "aaaa"
...
>>> a = A()
>>> dir(a)
['__doc__', '__init__', '__module__', 'a', 'z']
2009/7/9 Vlada Macek <macek na sandbox.cz>:
> Petr Zlamal wrote:
>> Lze nejak v pythonu vypsat vsechny promenne nalezejici dane instanci.
> Python primo nerozlisuje, ktere z atributu jsou "promenne" a ktere metody.
> Vase potreba je nicmene pofiderni a naznacuje neoptimalni navrh programu
> -- jen velmi zridka je neco takoveho potreba. Neznal ale podrobnosti.
> Nicmene je to samozrejme mozne napriklad takto:
...
> ... def tiskni(self):
> ... print "Atributy instance: ", self.__dict__
S argumentem o neoptimálním návrhu souhlasím, pokud jsou takové věci
součástí programu; při vývoji myslím není špatné si občas interaktivně
něco takto prohlédnout.
PM
Další informace o konferenci Python