【发布时间】:2013-02-20 00:38:05
【问题描述】:
我想知道初始化类成员的 python 方法是什么,但只有在访问它时,如果访问。 我尝试了下面的代码,它可以工作,但还有比这更简单的吗?
class MyClass(object):
_MY_DATA = None
@staticmethod
def _retrieve_my_data():
my_data = ... # costly database call
return my_data
@classmethod
def get_my_data(cls):
if cls._MY_DATA is None:
cls._MY_DATA = MyClass._retrieve_my_data()
return cls._MY_DATA
【问题讨论】:
标签: python lazy-evaluation lazy-initialization