装饰器:
什么事装饰器:
器即函数
装饰即修饰,意指为其他函数添加新功能
装饰器定义:本质就是函数,功能是为其他函数添加新功能
装饰器需要遵循的原则:
1.不修改被装饰函数的源代码(开放封闭原则)
2.为被装饰函数添加新功能后,不修改被修饰函数的调用方式
装饰器的组成:
装饰器=高阶函数+函数嵌套+闭包
高阶函数定义:
1.函数接收的参数是一个函数名
2.函数的返回值是一个函数名
3.满足上述条件任意一个,都可称之为高阶函数
无参装饰器=高级函数+函数嵌套
基本框架:
def timer(func):
def wrapper():
func()
return wrapper
加上参数:
def timer(func):
def wrapper(*args,**kwargs):
func(*args,**kwargs)
return wrapper
语法糖@:
@装饰器 #@timer就等同于
被装饰的函数(只是一个变量名)=装饰器(被装饰的函数)
时间: 2024-10-23 20:44:25