【发布时间】:2020-02-06 09:15:52
【问题描述】:
所以我有一些功能
def fun(x,y=None):
# Do some stuff
我想在 x 上最小化这个函数,但是有时我会想要一个额外的参数 y。 (本质上,我希望 y 始终采用其默认值,除非我正在最小化。)
通常,如果函数只是def fun(x,y):,我可以使用scipy.optimize.minimize(x,args=(y))。但是当 y 是可选变量时我该怎么办?输入args=(y=value) 给了我无效的语法,(当然,它看起来很错误),但我不确定正确的语法是什么。
如果相关,我正在使用 Python 3.7。
【问题讨论】:
-
这听起来真的像你应该有两个功能。 (解决
minimize问题很简单——如果y不是可选的,您将使用完全相同的调用,因为可选参数仍然可以按位置传递——但是描述你想如何使用这个函数真的听起来不像是 1 个功能的工作。)
标签: python parameter-passing scipy-optimize scipy-optimize-minimize