1.装饰器本质就是函数,功能就是为其他函数添加附加功能。
原则:被修改被修饰函数的源代码;不修改被修饰函数的调用方式。
装饰器=高阶函数+函数嵌套+闭包
2.高阶函数的定义
函数的接收参数是一个函数名;函数的返回值是一个函数名;满足上述条件的函数都可以称为高阶函数。
3.函数的嵌套
///////函数闭包加上返回值
装饰器最终版:
获取序列中首位元素的方式
l = [2,3,54,6,6,78,8,9]
a ,*_ ,b = l;=>a=2 ,b=9
实现两个数的交换:
装饰器需要一个变量作为全局变量的形式传入内部,则需要在外部在套一层函数,并传递参数。