是否可以在函数中将函数指定为变量。
例如,我有两个函数遵循完全相同的过程,除了一个使用np.mean计算平均,另一个计算标准差,其中只有np.std不同。
也就是说,它将被定义:def calculate(function)
您可以在脚本中调用其中一个,比如:
calculate(mean)和另一个calculate(std)
我只是想知道是否可以这样做,这样会大大缩短我的脚本长度。
编辑
对不起,我应该说,我想要的是卑鄙和性病的预定义在numpy。getattr()在徐的回答中起作用了
发布于 2013-10-29 08:14:08
使用getattr根据方法名称获取方法对象:
def calculate(function):
func = getattr(np, function)
func(...) # do what you want
calculate("mean") # calculate the average number
calculate("std") # calculate the standard deviation发布于 2013-10-29 08:15:20
是的这是可能的。
示例:
def addIt(x):
return x+x
def test(fn):
for x in xrange(5):
print fn(x)
test(addIt)输出:
0
2
4
6
8发布于 2013-10-29 08:13:54
def f1(t): return t * 2
def f2(t): return t * t
def comb(t,f): return f(t)
print comb(10, f1)
print comb(10, f2) https://stackoverflow.com/questions/19652818
复制相似问题