如果我想创建一个计算函数导数的程序。
对于简单的情况,请考虑我们的程序可以处理的可接受函数只是多项式。
我的问题是:
答案 0 :(得分:2)
使用函数很容易......就像任何其他参数一样。
def example(somefunc):
somefunc()
example(someFunction)
example(lambda x: x ** 2)
返回一个有点棘手,但并不多。
你可以返回一个lambda:
def example2():
return lambda x: x + 1
或者你可以建立一个内部函数,然后返回
def example3():
def rf(x):
return x + 2
return rf
myfunc = example3()
myfunc(2) #returns 4
答案 1 :(得分:1)
math.sqrt(x)不是(Python)函数,math.sqrt是一个函数。注意缺少(x)。同样,1 /(2 * math.sqrt(x))不是函数,但(lambda x:1 /(2 * math.sqrt(x)))是一个函数。
问题在于
a = lambda x: x
和
b = lambda x: x
将产生两个不同的python函数,从数学的角度来看是等价的。因此,测试函数的相等性并没有用。你需要实际解析"他们是为了找到数学衍生物。
解析内部定义是可能的,但不是很接近简单。