class initialization problem

rantingrick rantingrick at gmail.com
Fri Sep 18 00:34:55 EDT 2009


On Sep 17, 11:14 pm, alex23 <wuwe... at gmail.com> wrote:
> On Sep 18, 1:27 pm, rantingrick <rantingr... at gmail.com> wrote:
>
> > ok i have a class and in it's constructor i want to create a copy of
> > it as an attribute, i have tried super, __new__, and noting seems to
> > work, please help!
>
> > class A(base):
> >     def __init__(self):
> >         super(A, self).__init__()
> >         self.nested = ?
>
> > think of a nested list [ [] ] but with object "A" as the toplevel list
> > and having an instance of A in the attribute "nested"
>
> Sorry, do you want an a copy of the instance or of the class?
>
> If you mean the class, self.nested = self.__class__
> If you mean the instance, self.nested = self

No i want an *actual* separate instance inside the current instance
bound to an attribute "nested". But the problem is how to do this in
the constructor without causing infinite recursion. I thought about
creating an object copy function which would initialize the object and
*then* return it to the constructor but that seemed kind of kludgy.
There must be some syntax for doing this?





More information about the Python-list mailing list