私のPythonクラスには、最初に呼び出されたときに計算するための作業を必要とするいくつかの変数があります。後続の呼び出しは、事前に計算された値を返すだけです。
ユーザーが実際に必要としない限り、この作業に時間を無駄にしたくありません。では、このユースケースを実装するためのクリーンなPythonの方法はありますか?
私の最初の考えは、property()を使用して関数を最初に呼び出してから、変数をオーバーライドすることでした。
class myclass(object):
def get_age(self):
self.age = 21 # raise an AttributeError here
return self.age
age = property(get_age)
ありがとう