Thomas Olsen writes:
.... Say you have an instance of a class MyClass with attributes myattr1 and myattr2; then you change the class definition for MyClass adding myattr3. If attributes are stored in dictionary __dict__ isn't it possible simply to do:
def __getattr__(self, name): # or maybe __setstate__(self): if not self.hasattr(name): # add attribute name self.__dict__[name] = ""
Shouldn't this add the attribute to the class instance? Usually, it would not work.... Several reasons:
1. Your "__getattr__" would define any attribute that is not already there. I doubt this is useful... 2. Python calls "__getattr__" only the normal lookup was not successful. The normal lookup will find the class attribute "myattr3", "__getattr__" would not be called. Dieter