有没有一种初始化带有许多属性的Python对象的优雅方法?

时间:2019-01-01 14:15:16

标签: python constructor initialization

我是新手,尝试通过QuantEcon.org讲座学习Python。在研究OOP III: The Samuelson Accelerator时,我注意到当一个类具有许多属性时,构造函数最终看起来像这样(被剔除):

ngOnDestroy

如您所见,有很多代码可以简单地将构造函数的参数复制到新对象的属性(class Samuelson(): def __init__(self, y_0=100, y_1=50, α=1.3, β=0.2, γ=10, n=100, σ=0, g=0, g_t=0, duration=None): self.y_0, self.y_1, self.α, self.β = y_0, y_1, α, β self.n, self.g, self.g_t, self.duration = n, g, g_t, duration self.γ, self.σ = γ, σ self.ρ1 = α + β self.ρ2 = -β self.roots = np.roots([1, -self.ρ1, -self.ρ2]) 等;构造函数的前三行)。

为每个参数/属性重复本质上相同的样板代码会很麻烦(而且容易出错),尤其是在构造函数使用(明显)多于此参数的情况下。

因此,我的问题是:有没有更优雅的“ Pythonic”方式?

0 个答案:

没有答案