gpt4 book ai didi

python - 我应该如何在不更改函数名称的情况下使用 python decorator?

转载 作者:太空宇宙 更新时间:2023-11-04 10:27:46 26 4
gpt4 key购买 nike

def decorate(func):
def wrapper(*args, **kwargs):
return func(*args, **kwargs)
return wrapper

@decorate
def test(a=1,b=2):
return a+b

print test.__name__

结果是包装器。有什么办法让结果是“测试”?

最佳答案

使用functools.wraps:

from functools import wraps

def decorate(func):
@wraps(func)
def wrapper(*args, **kwargs):
return func(*args, **kwargs)
return wrapper

@decorate
def test(a=1,b=2):
return a+b

print test.__name__

关于python - 我应该如何在不更改函数名称的情况下使用 python decorator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28455869/

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