class initialization problem
rantingrick at gmail.com
Fri Sep 18 07:08:55 CEST 2009
On Sep 17, 11:54 pm, Carl Banks <pavlovevide... at gmail.com> wrote:
> On Sep 17, 8: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"
> Well, to answer the question you asked ("i have a class and in it's
> constructor i want to create a copy of it as an attribute"):
> import copy
> self.nested = copy.copy(self)
> However, your post contains some conflicting information, "copy" often
> means different things to different people, "it" is ambiguous, and
> what you ask for seems to to be well-conceived. I think we will be
> able to help you more if you give more details about what you expect
> and how you intend to use this nested object.
> Please try to observe the distiction between classes and instances
> (you almost certainly wanted a copy of the instance, not of the
> Carl Banks
ok here is some code. this will cause an infinite recursion.
def __init__(self, *args):
self.nestedA = A(*args) #NO GOOD!
there must be a way to create an instance of an object within the same
More information about the Python-list