gpt4 book ai didi

python装饰函数调用

转载 作者:太空狗 更新时间:2023-10-29 22:21:24 26 4
gpt4 key购买 nike

是否可以使用 python 装饰器包装函数调用?

我不想为模块的每个功能单独实现包装器。

我想要一个类似的东西

def a(num):
return num

@double_the_value
a(2)

返回 4 而无需访问 a 的实现。

全局包装器会像

def multiply(factor, function, *args, **kwargs):
return factor * function(*args, **kwargs)

在这种情况下是更好的选择吗?

最佳答案

虽然 @decorator 语法只能与函数或类的定义结合使用,但装饰器成为语言功能之前的语法可以满足您的要求:

from module import myfunc

myfunc = double_decorator(myfunc)

x = myfunc(2) # returns 4

延伸阅读:Marty Alchin 在 Apress 的 Pro Python 一书中有一个非常详细的装饰器部分。

关于python装饰函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39370642/

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