我有一个简单的消息来源。你知道吗
def h(x):
return x + 1
def m(x):
return x + 2
def n(x):
return x * 10
def function_aggregator(fun_list, num):
return_fun = None
for fun in fun_list[::-1]:
if return_fun:
return_fun = fun(return_fun)
else:
return_fun = fun(num)
return return_fun
if __name__ == "__main__":
lst = [h, m, n]
y = function_aggregator(lst, 4)
print(y)
有没有办法让function_aggregator
方法只接收列表并返回一个可调用的函数,它将与h(m(n(<any_number>))
相同
前面的答案非常接近。确切答案是:
多亏了Zero Piraeuscommet
可以使用闭包:
注意事项
function_aggregator
现在接受任意数量的函数aggregate
,这就是您所说的可调用的。你知道吗function_aggregator
将可调用的即aggregate
返回给调用者myfunc
myfunc
看作一个函数,它接受一个参数并返回一些东西相关问题 更多 >
编程相关推荐