def __setattr__(self, name, value):
    print('MyObj.__setattr__ for %s' % name)
try:
    object.__getattribute__(self, name)
except AttributeError:
    pass
Использование как __setattr__, так и дескрипторов для класса Python