在python中对基本数据类型进行子类化

时间:2017-06-20 02:29:53

标签: python

我想在python3中继承class MonteCarloVariable(float): def __new__(cls, mean, std): val = np.random.normal(mean, std) return super(MonteCarloVariable, cls).__new__(cls, val) 数据类型。我的目标是创建一个返回其原始值的变量,+ / - 某个范围。通过其他讨论,我知道我可以通过:

>>> a = MonteCarloVariable(10, 2)
>>> a
7.5

然后给了我:

a

我想要的是>>> a 9.3 >>> a 11.6 每次使用时都会改变价值。即:

>>> a
7.5
>>> a.roll()
>>> a
10.1

...等

如果这不可能,我如何添加强制更改的功能?类似的东西:

float

我尝试继承__add__的原因是我不想重新定义每个__sub__ul > li > a > span { float: right; min-width: 200px; /* text-align: left */ /* it's left by default */ } 类型的功能。

0 个答案:

没有答案