John Salerno wrote: > Paddy wrote: > > > You could keep a handle on all object instances created then go through > > the objects making appropriate changes, e.g: > > > > > > class Character(object): > > instances = [] > > def __init__(self, name, strength, dexterity, intelligence): > > instances.append(self) > > # as before ... > > def mod_instances(self): > > for inst in instances: > > inst.some_property += 1 # or whatever > > # (Untested) > > But doesn't this require that the change be predetermined so you can > code it into the method? > > I don't necessarily need a programmatic way to do this, just a simple > way to go back to the code and edit a single thing, instead of having to > update all the numbers.
I just put in a simple version of mod_instances. mod_instances could take a function as an argument the napply the function to all instances, e.g: def mod_func1(inst): inst.abc += inst.xyz # or whatever class Character(object): instances = [] def __init__(self, name, strength, dexterity, intelligence): instances.append(self) # as before ... def mod_instances(self, mod_func): for inst in instances: mod_func(inst) You can define different mod_func, like mod_func1 to make whatever changes to the instances. -- http://mail.python.org/mailman/listinfo/python-list