Python 2.7x に既存のサンプル クラスがあります。
class Example(object):
a = None
b = None
c = None
および既存のインスタンス
anInstance = Example()
anInstance.a = 100
anInstance.b = 200
anInstance.c = 300
私はいくつかのコードをリファクタリング/クリーンアップしてきましたが、これanInstance.c
はめったに使用されない高価な操作であることがわかっています。
完璧な世界では、私はこれを行うだけです:
class Example(object):
_c = None
@property
def c(self):
if self._c is not None:
self._c = DO EXPENSIVE STUFF HERE
return self._c
問題は、今すぐ変更できないことclass Example
です。[したがって、クイックフィックスは、それを関数として設定し、すべてobj.c
を に変更することobj.c()
です]
私が知る限り、オブジェクトを変更しない限り、プロパティ/メモ化を動的に割り当てる方法はありません。その理解は正しいですか?私はここでがっかりすることを期待しています。確認が欲しいだけです。