思路修改一个实例另一个实例也跟着修改,听起来很像单例模式的特性,但又只针对一个属性,所以可以借用一个辅助的类。
代码class attr(): attr = {} def __init__(self): self.__dict__ = self.attr class myclass(): def __init__(self): self.attr = attr() @property def value(self): return self.attr.value @value.setter def value(self, value): self.attr.value = value
演示in [47]: a = myclass() in [48]: b = myclass() in [49]: a.value = 1 in [50]: b.value out[50]: 1 in [51]: b.value = 2 in [52]: a.value, b.value out[52]: (2, 2)
感想要活用设计模式和它们的组合。
更多[python]实现python类的公共属性 。