高阶函数 - 接收用于导数计算的 lambda func

Blu*_*x0r 2 python math lambda higher-order-functions

我是 python 新手,我一直在尝试实现数值导数高阶函数,但我无法修改我的代码以获得所需的结果:

def deriv(f):
    return lambda x: ((f(x + h) - f(x)) / h)
Run Code Online (Sandbox Code Playgroud)

但是当调用函数时我收到错误,我无法解释。

My *_*yto 5

欢迎使用 StackOverflow!下次我建议添加错误描述,以帮助我们更好地帮助您。

在这种情况下,我想您可能缺少变量 h 的定义。尝试将此行添加到您的代码中:

def derivative(f):
    h=0.000001
    return lambda x: ((f(x + h) - f(x)) / h)
Run Code Online (Sandbox Code Playgroud)

或者:

def deriv(f, h=0.000001):
    return lambda x: ((f(x + h) - f(x)) / h)
Run Code Online (Sandbox Code Playgroud)