本章要给大家介绍的就是装饰器里的函数使用,大家有没有见过这个“wraps”函数呢?我们一般在使用函数的时候,是需要涉及到参数以及返回值的内容的,但是所有的函数都是对我们的值没有影响的吗?既然小编都提到这里了,那想必肯定是有影响的,比如装饰器中的函数会存在,下面就给大家说下碰到解决方法。
案例内容如下:
defdecorator(func): defwrapper(*args,**kwargs): returnfunc(*args,**kwargs) returnwrapper @decorator defadd(x,y): returnx+y print(add.__name__)
这里面函数是发生变化了的,在使用wraps函数如果发生变化,是必须要处理的,那我们要怎么进行处理呢,其实只需要添加我们之前说的一个模块即可,下面是解决方式。
调用代码如下:
fromfunctoolsimportwraps
以上就可以完成遇到的函数变化问题了哦~大家如果在碰到使用装饰器时候遇到这样类似的问题,都可以调用上述小编给大家提供的方式,获取到原函数的属性哦~