首页 新闻 会员 周边 捐助

python修饰器

0
悬赏园豆:50 [已解决问题] 解决于 2022-06-30 17:14

请问python修饰器里,调用函数是需要在wrapper里明确调用还是直接return function即可?
举例:

def metric(fn):
    @functools.wraps(fn)
    def wrapper(*args,**kw):
        print(f"running {fn.__name__}")
        return fn(*args,**kw)
    return wrapper

若fn函数需要得到返回的计算结果,那么是否需要在修饰器插入fn(*args,**kw)语句:

def metric(fn):
    @functools.wraps(fn)
    def wrapper(*args,**kw):
        print(f"running {fn.__name__}")
        fn(*args,**kw)
        return fn(*args,**kw)
    return wrapper

初学者,谢谢

GeneralMagic的主页 GeneralMagic | 初学一级 | 园豆:151
提问于:2022-06-29 17:21
< >
分享
最佳答案
0

https://blog.csdn.net/sinat_28371057/article/details/120309716
函数传参、装饰器传参,这个博客里都有

收获园豆:50
〆灬丶 | 老鸟四级 |园豆:2314 | 2022-06-30 10:42

感谢

GeneralMagic | 园豆:151 (初学一级) | 2022-06-30 17:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册