python中函数装饰器的简单介绍( 五 )


有了这个装饰器,我们就可以打印出什么时候开始和结束调用函数 , 对于排查函数的调用链非常方便 。
二、带参数的装饰器
上面的例子无论什么时候调用sum都会输出信息,如果我们需要按需输出信息怎么实现呢,这时就要用到带参数的装饰器了,如下代码:
对sum使用装饰器时没有参数,这时debug为0 , 所以调用sum时不会输出函数调用相关信息 。
对multi使用装饰器时有参数,这时debug为1,所以调用multi时会输出函数调用相关信息 。
三、函数名字问题
当我们打印被装饰后的函数名字时,不知道大家有没发现输出的不是函数本身的名字,如下代码会输出‘wrap’而不是‘sum’:
有时这种表现并不是我们想要的,我们希望被装饰后的函数名字还是函数本身,那要怎么实现呢?很简单,只需要引入functools.wraps即可,如下代码就会输出‘sum’了:
看完后是不是觉得python装饰器很简单,只要了解它的本质,怎么写都行 , 有好多种玩法呢 。
【python中函数装饰器的简单介绍】python中函数装饰器的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、python中函数装饰器的信息别忘了在本站进行查找喔 。

推荐阅读