[python] vypis promennych dane instance

Jirka Vejrazka jirka.vejrazka na gmail.com
Pátek Červenec 10 14:46:11 CEST 2009


> 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.
>

Souhlasim se zrejme neoptimalnim navrhem programu, ale jako studijni pomucka
je to dobry napad :)

Nakonec mi to nedalo a napsal jsem funkci, ktera myslim dela pozadovane, viz
nize.
(kdyby se rozhodilo formatovani, tak je kopie na http://dpaste.com/65418/)

  Jirka

# data
class TestClass(object):
    def __init__(self):
        self.var1 = 1
        self.var2 = '2'

    def func1(self):
        self.var3 = 3

    def func2(self):
        self.var4 = '4'

# utility func
def get_vars(inst):
    res = []
    for attr_name in inst.__dict__:
        attr = getattr(inst, attr_name)
        if not attr_name.startswith('_') and not callable(attr):
            res.append(attr_name)
    return res

if __name__ == '__main__':
    x = TestClass()
    print get_vars(x)
    x.func1()
    print get_vars(x)
    x.func2()
    print get_vars(x)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.py.cz/pipermail/python/attachments/20090710/ed08a375/attachment.htm>


Další informace o konferenci Python