浏览 50
扫码
装饰器是Python中一种强大的函数式编程工具,可以用来对其他函数进行装饰,添加额外的功能。装饰器本质上是一个函数,接受一个函数作为参数,并返回一个新的函数。
下面是一个简单的装饰器示例,用来输出函数的执行时间:
import time
def timer(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"{func.__name__} took {end_time - start_time} seconds to run.")
return result
return wrapper
@timer
def some_function():
time.sleep(2)
print("Function executed.")
some_function()
在上面的示例中,@timer
是装饰器语法糖,表示将some_function()
函数传递给timer
装饰器进行装饰。当调用some_function()
时,实际上是调用了wrapper
函数,通过计算函数执行的时间并输出。