我有一个包装函数,它将2个函数作为参数。这两个函数都返回一些值。
def wrapper(func, some_arg):
def wrap(function, *args, **kwds):
util_function(some_arg, *args, **kwargs)
function(*args, **kwds) //resultB
return lambda *x,**k: wrap(func, *x, **k)
//return resultB
用法 -
def exposed_function(argA, argB):
wrapper(original_function)(arg1=argA, arg2=argB)
用户可以使用exposed_function
我必须返回resultB作为最终输出。我怎么能这样做?
提前致谢。
答案 0 :(得分:1)
我不确定我是否完全理解您的问题,但您似乎只想在return resultB
函数的末尾添加第wrap
行。
即
def wrapper(func, pre):
def wrap(function, *args, **kwds):
resultA = pre()
resultB = function(resultA, *args, **kwds)
return resultB # <== newline
return lambda *x,**k: wrap(func, *x, **k)
然后这可以用作
wrapped_func = wrapper(func1, func2)
wrapped_resultB = wrapped_func(args, kwds)