繁体   English   中英

从装饰器内部的包装器返回值

[英]Return value from wrapper inside decorator

我定义了以下装饰器:

def _send(code):
    def wrapper(func):
        def wrapperIn(*args, **kwargs):
            # Do stuff
            return value
        return wrapperIn
    return wrapper

以及用它装饰的以下功能:

@_send(0)
def _getServerResponse(ID):
    pass

调用_getServerResponse时,我需要在装饰器中将“值”作为返回的变量,但是即使我尝试仅实现返回“ None”,好像值在包装程序调用之间丢失了一样。

有没有可能实现我想做的事情?

提前致谢。

也许你的

# Do stuff

看起来像下面几行:

value = func(*args, **kwargs)
return value

由于您的包装函数返回None,因此您将获得None :)。 这只是假设,为了给您100%正确的答案,我确实需要更多的代码行。

确保您的函数实际上正在返回某些内容,并且wrapperIn函数正在返回该值。

如果您仍然感到困惑,请进入wrapperIn的代码并进行查看。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM