python高级——装饰器
1、装饰器(很重要)
就是用来装饰我们原有代码
装饰器本质就是Python函数,它可以使其它函数在不需要做代码变动的情况下增加其他的功能,装饰器返回值也是一个函数对象。
代码开发原则
1、OCP原则 open close protocol (对我们稳定运营的代码不需要更改,可以向里面增加自己的代码功能)
在不动原有代码的基础上,将我们需要的功能添加上去,就是Python的装饰器
Python的装饰器就是一种装饰设计模式的体现
Python利用闭包实现了装饰器.
如果被
Python是一门解释性语言、脚本语言、弱数据类型语言,动态性语言
例如:
这是一个原有代码,输出hello world。
输出结果:
在此添加一个功能:
在说的话前面说出名字。
输出结果:
这样写的话会每次都要写s = sayname(say)这条语句,所以,在Python中为了简化写法,会提供了一个“@”符号。
输出结果:
所以,我们来说一说装饰器的原理:
我们在上面的代码中,先是在装饰器函数sayname中,sayname需要接受一个参数func,在它的内部有定义了一个inner函数,在inner函数中增加一句输出,并返回func对象,然后在sayname函数返回内部函数inner,这其实就是闭包函数了。