我有两个函数,每个函数都有两个参数。第一个函数a
打印出两个参数(整数)的组合结果,第二个函数b
打印出两个由空格分隔的参数。
所以如果我执行a(1,2)
它会打印出 3 而b(1,2)
会打印出 1 2。
我尝试创建一个返回 lambda 的函数,lambda x, y : (a(x,y), b(x,y))
但是当我尝试它时,它没有打印任何内容。
这些函数print
内部有自己的,所以我猜在创建 lambda 时,它应该打印出结果,然后返回一个超级函数。
def a(c, d):
print('*', a)
return total
def b(c, d):
print('**', b)
return echo
def both(f, g):
return lambda x, y: (a(x, y), b(x, y))
您的lambda
函数实际上从未被调用过。当它从both
函数返回时,您需要保存它。然后,您可以调用它。
下面是一个例子:
super_function = both(1, 2)
super_function(1, 2)
您的逻辑中还有无数其他错误,但这将“解决”您的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句