【发布时间】:2013-04-10 22:59:34
【问题描述】:
我在一本 Python 书籍中看到了这个例子,它展示了如何使用一个函数作为另一个函数的参数:
def diff2(f, x, h=1E-6):
r = (f(x-h) - 2*f(x) + f(x+h))/float(h*h)
return r
def g(t):
return t**(-6)
t = 1.2
d2g = diff2(g, t)
print d2g
我的问题是,如果不向函数 g 提供参数,这个脚本是如何工作的?有问题的行是:
d2g = diff2(g,t)
不应该是这样吗:
d2g = diff2(g(t), t)
【问题讨论】:
-
g(t)在你的最后一行会告诉g使用参数t执行,这不是你想要的。