装饰器学习日志

装饰器

@:装饰器

*args:可变位置参数

**kwargs:可变关键字参数

@wraps:保留被装饰函数的元信息

@lru_cache:缓存函数结果

@repeat:重复执行函数

@sleep_and_retry:睡眠并重试

@limits:限制函数调用频率

@dataclass:数据类

@register:如果程序意外停止,可以执行一些操作

@property:将方法转换为属性

@x.setter:为属性添加写入能力

@x.deleter:为属性添加删除能力

@cached_property:让方法第一次调用时计算,之后读取缓存

@staticmethod:定义静态方法

@classmethod:定义类方法

@singledispatch:允许函数根据第一个参数的类型进行不同的处理