I'm having trouble with the new descriptor-based mechanisms like super() and property() stemming, most likely, from my lack of knowledge about how they work.
Here's an example that's giving me trouble, I know it won't work, but it illustrates what I want to do: class A(object): _v = [1,2,3] def _getv(self): if self.__class__ == A: return self._v return super(self.__class__,self).v + self._v v = property(_getv) class B(A): _v = [4,5,6] b = B() print b.v What I want is for b.v to give me back [1,2,3,4,5,6], but this example gets into a recursive infinite loop, since super(B,self).v is still B._getv(), not A._getv(). Is there a way to get what I'm after using super()? 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. Thanks in advance, -David -- Presenting: mediocre nebula. -- http://mail.python.org/mailman/listinfo/python-list