What about something like that (for a given parameter "param_name"): 

    orig_value = getattr(obj, param_name)
    if orig_value != getattr(self, param_name): warnings.warn("")
    setattr(obj, param_name, getattr(self, param_name))