On Jan 25, 5:46 pm, Bjoern Schliessmann <usenet-
[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] wrote:
> > print x.ends,y.ends,z.ends
> > #############
> > Running the following code outputs:
> >>>> [(0, 2)] [(0, 2)] [(0, 2)]
>
> > Can anyone explain this?
>
> Yes. You bound a single list to the name "ends" inside the class.
> This name is shared by all instances.
>
> If you want the instances to each have separate lists, delete
> the "ends" definition from class declaration and insert "self.ends
> = []" into __init__.
>
> I also suggest you to have a look at the tutorial.
>
> Regards,
>
> Björn
>
> --
> BOFH excuse #49:
>
> Bogon emissions

Björn,

Thanks for the help.  I had misguidedly defined the members of all of
my classes as in the example above; I never noticed the issue with any
of the others because they did not have empty constructors.

Thanks again for the correction.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to