从类中的函数返回值 - 列表变为instancemethod

时间:2015-06-30 15:52:04

标签: python

我有一个由安装类调用的模型类。安装类加载一些数据,设置数据将其指定为评估数据。

class model(object):

def __init__(self,br):
    self.br = br
    self.observations = self.getObs(self.br)

class setup(object):

   def __init__(self):
     br='n1'
     self.model = model(project, br)

   def simulation(self,vector):
     self.model._run()
     simulations = list(self.model.results)
     return simulations

   def evaluation(self):
     observations = list(self.model.observations)
     print('Type Evaluation:')        
     print(type(observations))
    return observations

   def likelihood(self,simulation,evaluation):
     likelihood= -spotpy.likelihoods.rmse(evaluation, simulation)
     return likelihood

当我尝试在似然函数中调用求值时,我确实得到了一个错误,即evulation是一个实例方法而不是数组。对于某些函数,有一些括号可以完成这项工作,但我希望将这些观察结果作为列表返回。有趣的是,模拟确实希望我想要它。

在函数评估中,观察是一个列表,但是当从另一个函数调用时,数据作为实例方法返回。有什么想法吗?

0 个答案:

没有答案