Help with super()
Paul McNett
p at ulmcnett.com
Thu Jan 12 20:10:12 EST 2006
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
--
Paul McNett
http://paulmcnett.com
http://dabodev.com
More information about the Python-list
mailing list