温馨提示×

Python装饰器如何提升代码复用性

小樊
81
2024-11-09 12:40:41
栏目: 编程语言

Python装饰器是一种在不修改原始函数代码的情况下,为函数增加新功能的方法。装饰器通过接收一个函数作为参数,然后返回一个新的函数,这个新函数通常会包含原始函数的功能以及额外的操作。这样可以在不改变原始代码的基础上,为多个函数添加相同的功能,从而提高代码的复用性。

以下是一个简单的装饰器示例:

def my_decorator(func):
    def wrapper():
        print("Before the function is called.")
        func()
        print("After the function is called.")
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

say_hello()

在这个例子中,my_decorator 是一个装饰器,它接收一个函数 func 作为参数。wrapper 函数是在原始函数之前和之后添加额外操作的包装函数。通过 @my_decorator 语法,我们将 say_hello 函数与 my_decorator 装饰器关联起来。当我们调用 say_hello() 时,实际上是在调用 wrapper 函数,从而实现了在不修改原始代码的情况下为函数增加新功能的目的。

装饰器可以应用于任何可调用对象,如函数、类方法或静态方法等。这使得装饰器在提高代码复用性方面具有很大的灵活性。

0