包装函数并返回最终值

2024-09-25 08:37:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包装器函数,它以两个函数作为参数。两个函数都返回一些值。你知道吗

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)

用户可以使用公开的函数

我必须返回resultB作为最终输出。我该怎么做?你知道吗

提前谢谢。你知道吗


Tags: 函数参数returndefargargsfunctionsome
1条回答
网友
1楼 · 发布于 2024-09-25 08:37:49

我不确定我是否完全理解您的问题,但您似乎只想在wrap函数的末尾添加一行return resultB。你知道吗

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)

相关问题 更多 >