@Gribouillis. I would but Point is just an example. I would have to do that for every method that could change it value.
class Point: def __init__(self, x, y): self.x = x self.y = y def set(self, x, y): self.x = x self.y = y def move(self, x, y): self.x += x self.y += y # some other propertiesFigure out how to do it with __setattr__ and __getattr__.
class LinkObject: def __init__(self, value, callback): self.read_value = value self.callback = callback def __call__(self, value=None): if value is None: return self.read_value self.read_value = value self.callback() def __setattr__(self, instance, value): if instance in ['read_value', 'callback']: super().__setattr__(instance, value) else: setattr(self.read_value, instance, value) self.callback() def __getattr__(self, instance): return getattr(self.read_value, instance) def clear(self): self.read_value = None self.callback = callbackEdit. Fix __call__
99 percent of computer problems exists between chair and keyboard.