decoration

admin 42 0

# 装饰器在Python中的使用

装饰器是Python中的一种高级功能,它可以用来增强函数或方法的功能,而无需修改其原始代码,装饰器本质上是一个接受函数对象作为参数的可调用对象,并返回一个新的函数对象。

下面是一个简单的示例,演示如何使用装饰器在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`的装饰器函数,它接受一个函数对象作为参数,并返回一个新的函数对象`wrapper`,`wrapper`函数在调用原始函数之前和之后打印一些额外的信息,然后我们使用`@my_decorator`语法将`say_hello`函数装饰起来,当我们调用`say_hello`函数时,实际上是调用了被装饰后的版本,输出结果如下:

Before the function is called.
Hello!
After the function is called.

通过使用装饰器,我们可以轻松地为函数添加额外的功能,而不必修改原始代码,这种功能非常有用,可以帮助我们在不修改现有代码的情况下增强其功能。