我有一个类,比如说,计算一个人的保险风险,并且在计算过程中计算了一些其他变量。稍后我将需要访问风险和其他变量。
class InsuranceRiskModel:
self.risk = None
self.other_var = None
...
def get_risk():
# do a bunch of calculations,
# which in the meantime fills out a bunch of other vars
self.other_var = 5
self.risk = 6
return self.risk
def get_other_var():
# risk hasn't been calculated
if not self.risk:
raise NotYetCalculatedError("Not yet calculated!")
return self.other_var
现在在我做的其他一些功能中:
r = InsuranceRiskModel(person)
risk = r.get_risk()
other_var = r.get_other_var()
这是我想要的那种程序的合法结构吗?只是抛出计算未运行的异常,以防止获得虚假值?