たとえば、人の保険リスクを計算するクラスがあり、計算中に他のいくつかの変数が計算されます。後でリスクとその他の変数にアクセスする必要があります。
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()
これは、私が望む種類のプログラムにとって正当な構造ですか? 偽の値を取得するのを防ぐために、計算が実行されていないという例外をスローするだけですか?