【发布时间】:2020-12-01 16:45:42
【问题描述】:
我正在尝试理解以下语法。为什么允许传入小于给定结果的参数?例如,
def fit_curve_custom(f, xdata, ydata, p0=None, sigma=None, **kwargs):
po, pc = curve_fit(f, xdata, ydata, p0, sigma, **kwargs)
def fit(x, a, b, c):
return a*exp(b)+c
(po, pun, rac, de) = fit_curve_custom(fit, xsamples, yobserved)
在上面的代码中,fit_curve_custom 有六个参数,但是当稍后调用它时,只传递了三个参数,但它仍然按预期运行?这个语法真的有名字吗?另外,fit 函数有四个参数,但在fit_curve_custom 中调用它时没有传递参数?为什么会这样?
【问题讨论】:
-
参见标准教程中的More on defining functions。
-
该语法称为具有默认参数的函数。另外,
fit_curve_custom不调用fit()函数。 -
@martineau 它不调用 fit 函数是什么意思? fit 函数在
fit_curve_custom函数中传递 -
@tdelaney 链接有帮助,你
-
fit_curve_custom()函数中没有调用传递的fit()函数。
标签: python