关于python:从一个方法解析返回值作为另一个函数的两个参数?

Parsing return value from one method as two arguments for another function?

我有一个函数def findSpace(aBookcase):,返回return row,column,另一个函数接受def setName(self, row, column, name):

现在,当我执行aBookcase.setName(findSpace(aBookcase), name)时,我得到TypeError: setName() takes exactly 4 arguments (3 given)

如何让它将findspace()的结果作为函数setname()的两个参数进行解析,而不更改findspace(),因为我已经有其他代码依赖于它了


findSpace返回一个元组。这是一个物体。除了实例本身之外,aBookcase.setName还需要三个独立的参数。解包结果,然后使用参数:

1
2
r,c = findSpace(aBookcase)
aBookcase.setName(r, c, name)

在python 3.5或更高版本中,您只需使用*

1
aBookcase.setName(*findSpace(aBookcase), name)