glue wrote:

> I have a class with a list member and the list seems to behave like
> it's static while other class members don't. The code...

*all* class attributes are shared by all instances.  however, instance 
attributes hide class attributes with the same name.

in your case, you're hiding the "name" class attribute by creating an 
instance attribute with the same name in the "__init__" method, but 
you're modifying the shared "data" attribute in the "append" method.

if you want separate instances to use separate objects, make sure you 
create new objects for each new instance.  see Tim's reply for how to
do that.

</F>

> class A:
>     name = ""
>     data = []
>     def __init__(self, name):
>         self.name = name
>     def append(self, info):
>         self.data.append(info)
>     def enum(self):
>         for x in self.data:
>             print "\t%s" % x

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

Reply via email to