Python 如何创建一个调用另一个函数并将实例属性作为参数传入的函数?

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):

我对编码相当陌生,并且对如何从一个函数调用另一个函数感到非常困惑。我试图将实例属性作为参数传递,但始终得到“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): 
    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())