我想定义一个执行以下操作的类:
Class computer():
def __init__(self, x):
# compute first the 'helper' properties
self.prop1 = self.compute_prop1(x)
self.prop2 = self.compute_prop2(x)
# then compute the property that depends on 'helpers'
self.prop3 = self.compute_prop3(x)
def compute_prop1(self, x):
return x
def compute_prop2(self, x):
return x*x
def compute_prop3(self, x):
return self.prop1 + self.prop2
然后,当我初始化一个实例时,我会按顺序计算所有属性(第一个助手,然后一切都取决于助手):
>>> computer = Computer(3)
>>> computer.__dict__
{'prop1': 3, 'prop2': 9, 'prop3': 12}
但是,我认为编写此代码有更好的做法,例如使用装饰器。你能给我一些提示吗?谢谢!