【发布时间】:2013-12-09 12:59:35
【问题描述】:
我想弄清楚在 Python 中使用 *args 时是否可以保留可选参数(使用它的默认值)。以下代码通过“print(a)”工作,因此在派生函数调用中显式包含可选参数 h 有效。我可以以某种方式将它(h)留在外面吗?我的尝试(“b = ...”、“c = ...”、“d = ...”)失败了。还有其他方法吗?
def deriv(f, x, h=1.e-9, *params):
return (f(x+h, *params)-f(x-h, *params))/(2.*h)
def f1(x, a, p):
return a*x**p
a = deriv(f1, 3, 1.e-9, 4, 5)
print(a)
b = deriv(f1, 3, , 4, 5)
c = deriv(f1, 3, 4, 5)
d = deriv(f1, 3, h, 4, 5)
【问题讨论】:
标签: python function arguments keyword-argument