Python教程:[45]装饰器入门
python装饰器是一个比较难理解的概念,至少对于我来说,用了很长时间去理解它,现在我把自己的学习经验总结道下面,希望对新手们有些帮助,不要喷就好。有问题留言在下面。
我们用一个最简单的代码解释一下装饰器的概念,其实装饰器就是一个函数,以另一个函数作为参数,这样就给这个参数函数添加了额外的功能。我们看看下面这段代码
![Python教程:[45]装饰器入门](https://exp-picture.cdn.bcebos.com/983aa5f4da5872da7543f4bc0056ad042e68d45d.jpg)
![Python教程:[45]装饰器入门](https://exp-picture.cdn.bcebos.com/0fb94656d53da8246ee35961306651598540cb5d.jpg)
不过,通常为了简写代码,都是使用@符号,下面这段代码和上面是一样的。
![Python教程:[45]装饰器入门](https://exp-picture.cdn.bcebos.com/18aebc5f0c14c27b1a88133a2a46b7b1eff939a2.jpg)
![Python教程:[45]装饰器入门](https://exp-picture.cdn.bcebos.com/023cff37c97622bcaacf5ad4a05fd546049628a2.jpg)
更通用的写法是使用内嵌函数,然后在返回这个内嵌函数,这样做可以的好处后面你会感受到
![Python教程:[45]装饰器入门](https://exp-picture.cdn.bcebos.com/58021a0148fe1e42a3619162c2299a88381303a2.jpg)
![Python教程:[45]装饰器入门](https://exp-picture.cdn.bcebos.com/52fae62064fb960b222a90d28fa355e982ae6ca2.jpg)
假如参数函数是带参数的,看下面的代码,这时候你就看到内嵌函数装饰器的好处了。可以对参数进行处理
![Python教程:[45]装饰器入门](https://exp-picture.cdn.bcebos.com/562787cf02532f63008e7585699147e832e05ca2.jpg)
![Python教程:[45]装饰器入门](https://exp-picture.cdn.bcebos.com/6002c9d4483104ebc7accabc092b74ee1d324ea2.jpg)
现在我们要处理更加复杂的问题,我们要装饰的函数不仅仅有两个参数的,还有三个参数的,我们使用星号。一个星号表示列表型参数,两个星号表示字典型参数
![Python教程:[45]装饰器入门](https://exp-picture.cdn.bcebos.com/fdb4f00d3aceaad735609951eee7340f6578b8a2.jpg)
![Python教程:[45]装饰器入门](https://exp-picture.cdn.bcebos.com/777f3fc2bbd6e1d03fe30fd20d254193cfe8afa2.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。