def __setattr__(self, name, value):
    print('MyObj.__setattr__ for %s' % name)
try:
    object.__getattribute__(self, name)
except AttributeError:
    print('New name', name, value)
Using both __setattr__ and descriptors for a python class