gpt4 book ai didi

python - 从 Python 中的函数内部评估函数对象

转载 作者:行者123 更新时间:2023-11-28 23:04:13 24 4
gpt4 key购买 nike

假设我们有两个定义的函数对象

add1 = lambda x: x+1

square = lambda x: x*x  

现在我想要一个函数来调用和添加这两个函数的结果。
我认为可行的是:

def addFuncs(f,g):
f+g

addFuncs(add1,square)(10)

我认为答案是 111 (10*10 + 10+1)但这只是给了我一个错误 TypeError: unsupported operand type(s) for +: 'function' and 'function'
所以我尝试了:

def addFunctions(f, g):
def getf():
return f
def getg():
return g
return getf() + getg()

但是还是没有用...
但是,如果我这样做

def addFunctions(f, g):
return f

它弹出 100,所以它似乎在返回时评估函数,但我无法弄清楚如何让它先评估函数然后对其进行操作。
任何帮助将不胜感激!

编辑
知道了!

def addFunctions(f, g):
return lambda x: f(x) + g(x)

最佳答案

def addFuncs(f,g):
return lambda x: f(x) + g(x)

addFuncs(add1,square)(10)

Python 不支持将您的两次尝试都试图做的功能加在一起。相反,您需要创建一个新函数,例如调用原始函数的 lambda。

关于python - 从 Python 中的函数内部评估函数对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7863584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com