如果依赖项已更改,则更新 __init__ 中的变量

Update variable in __init__ if dependency has changed

class 喜欢

 class C():
    
    def __init__(self, bits: list):

       self.bits = bits
       self.values = [bit.value for bit in self.bits]

c = C(bits)

如果我更新c.bits , c.values 不会改变。我怎样才能做到这一点 c.values 更新了吗?

如果值应该始终依赖于位的值,请不要将其存储为单独的对象,而是创建一个函数将return 当前值。如果你使用@属性装饰器,你甚至可以在代码中像普通属性一样使用它。

class C():
    def __init__(self, bits: list):
       self.bits = bits
    @property
    def values(self):
       return[bit.value for bit in self.bits]
c = C(bits)
print(c.values)