python装饰器是一个比较难理解的概念,至少对于我来说,用了很长时间去理解它,现在我把自己的学习经验总结道下面,希望对新手们有些帮助,不要喷就好。有问题留言在下面。
我们用一个最简单的代码解释一下装饰器的概念,其实装饰器就是一个函数,以另一个函数作为参数,这样就给这个参数函数添加了额外的功能。我们看看下面这段代码运行结果是:
不过,通常为了简写代码,都是使用@符号,下面这段代码和上面是一样的。可以看一下这段代码的输出结果:
更通用的写法是使用内嵌函数,然后在返回这个内嵌函数,这样做可以的好处后面你会感受到它的运行结果是:
假如参数函数是带参数的,看下面的代码,这时候你就看到内嵌函数装饰器的好处了。可以对参数进行处理运行结果是这样的:
现在我们要处理更加复杂的问题,我们要装饰的函数不仅仅有两个参数的,还有三个参数的,我们使用星号。一个星号表示列表型参数,两个星号表示字典型参数输出结果是这样的: