Puzzled by behaviour of class with empty constructor

dbaston at gmail.com dbaston at gmail.com
Fri Jan 25 17:33:02 EST 2008


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?



More information about the Python-list mailing list