首页IT科技python中if else语句一行(python装饰器如何保留原函数信息)

python中if else语句一行(python装饰器如何保留原函数信息)

时间2025-05-21 15:18:32分类IT科技浏览7340
导读:说明...

说明

1            、使用装饰器时            ,原函数似乎没有改变                   ,但其元信息发生了变化——此时的原函数实际上是包裹后的wrapper函数            。

2                   、若要保留原始函数的元信息       ,可以通过内置@functools.wraps(func)实现                   。

@functools.wraps(func)的作用是通过update_wrapper和partial将目标函数的元信息复制到wrapper函数中       。

实例

#defdecorator defdecorator_with_args(*args,**kwargs): print(Step1:enterwrapperwithargsfunc.) print(args) print(kwargs) defdecorator_func(func): @functools.wraps(func) defwrapper(*args,**kwargs): print(Step2:enterwrapperfunc.) returnfunc(*args,**kwargs) returnwrapper returndecorator_func

以上就是python装饰器保留原函数信息的方法      ,希望对大家有所帮助      。更多Python学习指路:Python基础教程

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
2020互联网+创新创业项目官网(中国互联网创业工具库Startup Tools | 17Startup Blog)