Python 如何创建一个调用另一个函数并将实例属性作为参数传入的函数?
我对编码相当陌生,并且对如何从一个函数调用另一个函数感到非常困惑。我试图将实例属性作为参数传递,但始终得到“getVal”的名称错误。这是“getVal”函数的问题还是我试图传递的参数的问题“self.Volume”是一个数字列表,“self.num”是一个二进制数字列表Python 如何创建一个调用另一个函数并将实例属性作为参数传入的函数?,python,function,class,attributes,instance,Python,Function,Class,Attributes,Instance,我对编码相当陌生,并且对如何从一个函数调用另一个函数感到非常困惑。我试图将实例属性作为参数传递,但始终得到“getVal”的名称错误。这是“getVal”函数的问题还是我试图传递的参数的问题“self.Volume”是一个数字列表,“self.num”是一个二进制数字列表 def getVal(self, solution): return [self.volume[i] for i in range(10) if solution[i]] def fitness(self):
def getVal(self, solution):
return [self.volume[i] for i in range(10) if solution[i]]
def fitness(self):
print(getVal(self.num))
由于getVal和fitness是类函数,因此需要使用self调用它们:
如果这是在类中,则必须通过self.getVal引用该方法。在Python中,如果调用实例的方法(按约定命名为self),实例将作为第一个参数传入。因此,要调用该方法,必须执行ClassName.getValself、self.num或self.getValself.num.关闭。你需要确保你把自己放进去。在调用类函数之前。无需将self.num传递到getVal,您只需从getVal内部调用它即可
请使用完整的错误回溯更新您的问题。如果下面的一些答案解决了您的问题,请接受与升级投票不同的答案-请参阅
def fitness(self):
print(self.getVal(self.num))
def getVal(self):
return [self.volume[i] for i in range(10) if self.num[i]]
def fitness(self):
print(self.getVal())