Hi, I have a class and I am trying to set the instance varirable 'variables' (also tried different names). The variable gets initialized by default-value parameter of the constructor. When I change the variable and call the constructor again, the default value changes !!! Is this supposed to happen? See code and example below:
class url: def __init__(self,link,vars={}): self.link=link print "vars:",vars if hasattr(self,'vars'): print "self.variables:",self.variables self.variables=vars print "self.variables:",self.variables def set_var(self,name,value): self.variables[name]=value >>> from generator import url >>> u=url('image') vars: {} self.variables: {} >>> u.set_var('a',5) >>> v=url('test') vars: {'a': 5} self.variables: {'a': 5} See that 'vars' gets the old value of 'variables' passed? How can this be??? I am using python version 2.3.5 Eddy -- http://mail.python.org/mailman/listinfo/python-list