是否可以创建一个函数,将lambda函数作为参数(每个lambda函数都使用参数x
),然后返回一个新函数,该函数有一个参数x
,并返回所有lambda函数的乘积?你知道吗
以下是我的非工作示例:
def func_you( lambdafunc1, lambdafunc2, lambdafunc3, lambdafunc4):
return def func_you_2(x):
return lambdafunc1(x) * lambdafunc2(x) * lambdafunc3(x) * lambdafunc4(x)
所以本质上是一个函数func_you
,它接受4个lambda函数,每个函数都使用参数x
。例如,lambdafunc1
的参数可以类似于lambda x: x + 10
。你知道吗
func_you
然后返回一个名为func_you_2
的新函数,该函数的输出是所有lambda函数的乘积,并且有一个参数x
,该参数传递给func_you
的每个lambda函数的x
参数。你知道吗
假设我要做的是可能的,我该如何传达正确的语法来做呢?你知道吗
还有,这类东西有没有一个特定的名称而不是“返回函数的函数”?从技术上讲,它不是嵌套函数,对吧?你知道吗
到目前为止,我的答案并不比其他任何答案都好,但我想稍微调整一下,从问题中挤出一点函数式编程的精华,只是为了好玩。你知道吗
编辑
为了实现一种10分钟的讨好尝试,我甚至变得有点疯狂。这不是什么我会让我的同事,但它的晚了,所以我可能只是为了好玩。。。你知道吗
应该可以定义一个函数,它可以不断返回自己的部分应用版本,但我想您需要某种方法来告诉它停止吗?你知道吗
以下是我的尝试:
你可以像这样使用它(如果你这么想……)
(我现在就去拿帽子和外套……)
您可以返回一个lambda函数来执行您想要的操作。示例-
演示-
从技术上讲,这绝对是一个嵌套函数:
但是你也可以用
lambda
:相关问题 更多 >
编程相关推荐