我正在编写一个用于存储一些数据的Python对象。我希望与对象关联的数据之一必须以随机方式计算(它是" null模型"各种类型)。因此,我希望该功能可以执行以下操作:
我想要完成的一个非常非常简单的玩具示例如下。假设我有一个名为Object的对象。它目前设置如下:
from random import random
class Object(object):
def __init__(self):
self._x = None
@property
def x(self):
return self._x
@x.setter
def x(self):
self._x = random() # Assume that this is the stochastic thing to compute.
我想要达到的目的是:
>> O = Object()
>> print O.x
<result of computation printed here, rather than "None">
这可能吗?如果是这样,我将如何实现这一目标?如果没有,那么编写代码的最佳方式是什么?
答案 0 :(得分:3)
如果_x
None
,请让您的getter初始化from random import random
class Object(object):
def __init__(self):
self._x = None
@property
def x(self):
if self._x is None:
self._x = random()
return self._x
:
{{1}}