On Thursday, August 30, 2012 4:30:59 PM UTC+2, Dave Angel wrote: > On 08/30/2012 10:11 AM, Marco Nawijn wrote: > > > On Thursday, August 30, 2012 3:25:52 PM UTC+2, Hans Mulder wrote: > > >> <snip> > > >> > > > Learned my lesson today. Don't assume you know something. Test it first ;). > > I have done quite some programming in Python, but did not know that class > > attributes are still local to the instances. > > > > They're not. They're just visible to the instances, except where the > > instance has an instance attribute of the same name. Don't be confused > > by dir(), which shows both instance and class attributes. > > > > Please show me an example where you think you observe each instance > > getting a copy of the class attribute. There's probably some other > > explanation.
I don't have an example. It was just what I thought would happen. Consider the following. In a class declaration like this: class A(object): attr_1 = 10 def __init__(self): self.attr_2 = 20 If I instantiated it twice: obj_1 = A() obj_2 = A() For both obj_1 and obj_2 attr_1 equals 10. What I thought would happen after the following statement: obj_1.attr_1 = 12 is that obj_2.attr_1 also equals 12. This is what surprised me a little, that's all. Marco -- http://mail.python.org/mailman/listinfo/python-list