深入理解Python中的装饰器(Decorators):从基础到高级应用
# 定义一个装饰器,用于计算函数执行时间
def timer(func):
def inner(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f"函数 {func.__name__} 执行耗时:{end - start} 秒")
return result
return inner
# 使用装饰器
@timer # 等同于 add = timer(add)
def add(x, y):
time.sleep(1) # 模拟耗时操作
return x + y
# 调用被装饰的函数
result = add(3, 4)
这段代码定义了一个简单的装饰器 timer
,用于计算被装饰函数的执行时间。使用 @timer
语法糖可以直接将装饰器应用到函数上,简化了调用装饰器的过程。在调用 add
函数时,会先打印出该函数执行的耗时。
评论已关闭