Puzzled by behaviour of class with empty constructor

Bjoern Schliessmann usenet-mail-0306.20.chr0n0ss at spamgourmet.com
Fri Jan 25 17:46:19 EST 2008


dbaston at gmail.com 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




More information about the Python-list mailing list