----- Original Message ----- > I am in a situation where I have a class Obj which contains many > attributes, and also contains logically another object of class > Dependent. > > This dependent_object, however, also needs to access many fields of > the > original class, so at the moment we did something like this: > > > class Dependent: > def __init__(self, orig): > self.orig = orig > > def using_other_attributes(self): > print("Using attr1", self.orig.attr1) > > > class Obj: > def __init__(self): > self.attr1 = "attr1" > self.attr2 = "attr2" > self.attr3 = "attr3" > > self.dependent_object = Dependent(self) > > > But I'm not so sure it's a good idea, it's a bit smelly.. > Any other suggestion about how to get a similar result? > > I could of course passing all the arguments needed to the constructor > of > Dependent, but it's a bit tedious.. > > > Thanks, > Andrea > -- > http://mail.python.org/mailman/listinfo/python-list >
Nothing shocking right here imo. It looks like a classic parent-child implementation. However it seems the relation between Obj and Dependent are 1-to-1. Since Dependent need to access all Obj attributes, are you sure that Dependent and Obj are not actually the same class ? JM -- http://mail.python.org/mailman/listinfo/python-list