首页 > 解决方案 > 将参数传递给类方法

问题描述

我试图掌握在 python 中使用对象的方法,但遇到了一个让我感到困惑的错误。我已将以下属性添加到类中:

@property
def train(self, index):
  return self.make_dataset(self.train_df[index])

我想将参数'index'传递给它,以便我可以在训练循环期间调用此函数。但是,当我使用以下代码尝试此操作时,出现错误:

train() missing 1 required positional argument: 'index'

即使我确实通过了以下论点。我一直在网上寻找,但仍然无法弄清楚警告的原因是什么。这是将参数集中到方法的错误方法吗?

for train_loop in range(len(train_df)):
    history = model.fit(multi_window.train(train_loop))

标签: python

解决方案


删除 @property 装饰器:

def train(self, index):
    return self.make_dataset(self.train_df[index])

这将使它成为一个实例方法,可由该类的对象调用(如果这是您想要的)。


推荐阅读