装饰器
1.一般语法和可能的实现
(1) 作为一个函数
这种方式最简单,就是编写一个函数,返回包装原始函数调用的一个子函数
def mydecorator(function):
def wrapped...self, function):
self.function = function
def __call__(self, *args, **kwargs):
# 在函数调用之前做点什么...result = self.function(*args, **kwargs)
# 在函数调用之后做点什么
return result
(3) 参数化装饰器...举例给定重复次数, 每次被调用时,都会重复执行一个被装饰的函数
def repeat(number=3):
"""
多次重复执行被装饰的函数, 返回最后一次执行的结果
:param...(文档字符串和函数名字), 装饰器返回的是新函数,失去了函数元数据.