我有一个函数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(),因为我已经有其他代码依赖于它
答案 0 :(得分:1)
findSpace
返回一个元组。这是一个目标。除了实例本身之外,aBookcase.setName
还需要三个独立的参数。解压缩结果,然后使用参数:
r,c = findSpace(aBookcase)
aBookcase.setName(r, c, name)
在Python 3.5或更高版本中,您只需使用*
:
aBookcase.setName(*findSpace(aBookcase), name)