[EMAIL PROTECTED] schrieb:
> Hello,
> 
> I have a class called 'Axis' that I use as a base class for several
> types of axes that can be created by a grid generation program that I
> have written: equally-spaced grids, logarithmic grids, etc.  In any
> case, if I use this base class by itself, I see some puzzling
> behaviour:
> #############
> class Axis:
>     ends = []
>     N = None
>     def __init__(self):
>         pass
> 
> x = Axis()
> y = Axis()
> z = Axis()
> 
> x.ends.append((0,2))
> 
> print x.ends,y.ends,z.ends
> #############
> Running the following code outputs:
>>>> [(0, 2)] [(0, 2)] [(0, 2)]
> 
> Can anyone explain this?

It's simple - you didn't create an instance-variable, but instead a 
class-variable.

You need to do this:

class Axis:

    def __init__(self):
        self.ends = []


Diez
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to