我有两个函数,后者取决于第一个函数的结果。 它们都是使用浮点数的数学函数。在
这两个功能的要点是:
def function1(a,aa,b,bb):
# get result z from a and b
# get error in result, zz, from raw errors, aa and bb
print (z,zz)
def function2(z,zz,c,cc):
# get result x from z and c
# get error in result, xx, from zz and cc
print (x,xx)
a,b,c是函数外定义的被测变量 aa、bb和c是测量变量中的误差,也在函数之外定义。在
定义函数后,我编写以下命令:
^{pr2}$我希望函数1将产生两个结果(z,zz),它们将被接受为函数2的前两个参数。在
相反,我得到错误“TypeError:function2()缺少1个必需的位置参数:'cc'
所以我假设函数1最后只产生一个结果。我怎么解决这个问题?在
如果函数返回多个参数,则这些参数将被压缩到元组中。您应该解压带
*
返回的参数,将它们作为参数传递给另一个函数。但是,作为惯例,你不能把任何东西作为第一个论点来解压,所以,我还是建议如下。在如果您真正感兴趣的是为什么后者不起作用,或者为什么要使用约定,那么请访问-http://www.python.org/dev/peps/pep-3132/或Unpacking arguments: only named arguments may follow *expression
另外,正如评论中建议的那样,您应该
^{pr2}$return
参数,而不仅仅是打印它们。像下面这样。在相关问题 更多 >
编程相关推荐