装饰器是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函数,通过计算函数执行的时间并输出。