一、装饰器是什么?
Python装饰器其实就是一个返回函数的高阶函数,其中至少嵌套一个函数(作为返回值返回)。
二、装饰器工作原理。
遵循编程的闭合原则,在不修改原函数代码的基础上增加功能,使用装饰器是一种很好的选择。
装饰器工作基于以下两步完成:
第一步:被装饰的函数作为参数传给装饰器函数,并执行装饰器函数,返回值记作newFunction;
第二步:原函数名重新被赋值为newFunction。
PS:当执行f1函数时,首先执行装饰器auth,并将原f1函数作为参数传递给装饰器函数,装饰器返回一个inner函数并将该函数赋值给f1,即f1() = inner()。
原函数好像是一个小盒子,装饰器相当于一个大盒子,原函数加载装饰器就好比在小盒子外面嵌套一个大盒子。
三、动态参数,装饰含有N个参数的函数。
本文出自 “笨鸟学飞” 博客,请务必保留此出处http://yshun.blog.51cto.com/9570549/1719515
原文:http://yshun.blog.51cto.com/9570549/1719515