在python中用组合存储属性两次-内存效率低下吗?

问题描述

我有一个类似下面的类结构,

class binomial():

  def __init__(self,theta):
    self.theta = theta

class beta_binomial():
  def __init__(self,theta,beta):
    self.b = binomial(theta)
    self.theta = self.b.theta
    self.beta = beta

我喜欢这种结构,因为我可以使用以下内容直接访问thetabeta

bb = beta_binomial(np.array([0.5,0.5,0.3,0.3]),np.array([0.35,0.15,0.53,0.83]))
bb.theta,bb.beta

但是,我想知道这是否会导致内存效率低下,因为theta既是binomialbeta_binomial的属性。换句话说,bb.thetabb.b.theta返回相同的内容。我知道Python做了一些聪明的事情来减少这样的低效率,但是我不确定它是否适用于此。如果theta是一个非常大的数组(可以是),可能会很重要。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)