一、装饰器
1、装饰器定义:本质是函数(装饰其它函数),就是为其它函数添加附加功能。
2、原则:1)不能修改被装饰函数的代码;2)不能修改被装饰函数的调用方式。
3、示例:为test1函数增加统计程序运行时间功能。
4、实现装饰器的知识储备:
1)、函数即变量;
2)、高阶函数;
把一个函数名当做实参;
把一个函数名当做返回值;
3)、嵌套函数;
==========》高阶函数+嵌套函数 = 装饰器
第一个例子的演变过程:
例子:写个装饰器,统计程序运行时间;
装饰器中需要传入参数,调用的函数部分需要传入参数,部分不需要传入参数;
执行结果:
从上面结果中来看,当装饰器调装饰函数时,如果需要增加参数,只需要在原有装饰器外面,再包一层即可(参数传入到最外层函数中)