Yes, indeed that does work. I tried using __mro__ based on some code that showed how super() works in pure-python, but I got lost. I think this makes that clear...tho' I hate squishing around in instance innards like this...
Thanks a bunch, I'm sure I'll have more questions, -Dave Paul McNett wrote: > David Hirschfield wrote: > >> Is there a way to get what I'm after using super()? > > > Probably. > > >> The idea is that I could have a chain of subclasses which only need >> to redefine _v, and getting the value of v as a property would give >> me back the full chain of _v values for that class and all its >> ancestor classes. > > > Does this work? : > > class A(object): > _v = [1,2,3] > > def _getv(self): > ret = [] > mroList = list(self.__class__.__mro__) > mroList.reverse() > for c in mroList: > print c, ret > if hasattr(c, "_v"): > ret += c._v > return ret > > v = property(_getv) > > > class B(A): > _v = [4,5,6] > > b = B() > > print b.v > > -- Presenting: mediocre nebula. -- http://mail.python.org/mailman/listinfo/python-list