从Python函数获取输出变量

从Python函数获取输出变量,python,scipy,Python,Scipy,我正在使用一个函数,scipy.optimize.fmin_bfgs,它有几个输出变量。我关心其中两个,xopt和fopt。如何存储这些变量?以下内容不适用于我: xopt, fopt = fmin_bfgs(f, 0, fprime = fprime) 但是,这给了我fopt: fopt = fmin_bfgs(f, 0, fprime = fprime) 我也需要xopt,但它说我“还需要1个值来解包。”您需要将full\u output设置为true,之后还包括fopt,func\u调

我正在使用一个函数,
scipy.optimize.fmin_bfgs
,它有几个输出变量。我关心其中两个,xopt和fopt。如何存储这些变量?以下内容不适用于我:

xopt, fopt = fmin_bfgs(f, 0, fprime = fprime)
但是,这给了我
fopt

fopt = fmin_bfgs(f, 0, fprime = fprime)

我也需要
xopt
,但它说我“还需要1个值来解包。”

您需要将
full\u output
设置为true,之后还包括
fopt
func\u调用
grad\u调用
,以及
warnfag
;您可以对返回的序列进行切片:

xopt, fopt = fmin_bfgs(f, 0, fprime = fprime, full_output=True)[:2]
见:

全输出
:布尔,可选
如果为True,则除了xopt之外,还返回fopt、func_调用、grad_调用和warnflag

诚然,这个函数的文档说明了这一点,我首先要看一下。从外观上看,
bopt
gopt
也包括在设置了
full\u output
时,但文档未能正确解释这一点