Dustan wrote: > B isn't recognizing its inheritence of A's methods get_a and set_a > during creation. > > Why am I doing this? For an object of type B, it makes more sense to > reference the attribute 'b' than it does to reference the attribute > 'a', even though they are the same, in terms of readability. > > Is there any way to make this work as intended?
Try this: >>> class A(object): ... def __init__(self,a): ... self.__a = a ... def get_a(self): return self.__a ... def set_a(self,new_a): self.__a = new_a ... a = property(get_a,set_a) ... >>> class B(A): ... b = property(A.get_a,A.set_a) ... >>> bar = B(5) >>> bar.a 5 >>> bar.b 5 The trouble is that get_a and set_a are attributes of the _class object_ A. Instances of A (and hence, instances of B) will see them, but the class B will not, so you have to point to them explicitly with A.get_a and A.set_a. -- http://mail.python.org/mailman/listinfo/python-list