Python中的装饰器是一种特殊的语法,可以用于修改或扩展函数的行为。装饰器本质上是一个函数,它接收一个函数作为参数,并返回一个新的函数。

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

def decorator(func):
    def wrapper():
        print("Before function execution")
        func()
        print("After function execution")
    return wrapper

@decorator
def say_hello():
    print("Hello World")

say_hello()

运行上述代码会输出:

Before function execution
Hello World
After function execution

在上述示例中,decorator是一个装饰器函数,它接收一个函数作为参数func,并定义了一个内部函数wrapperwrapper函数在被调用时会在函数执行前后分别打印一些信息。

@decorator是装饰器的语法糖,等价于say_hello = decorator(say_hello)。通过将装饰器应用到say_hello函数上,可以改变say_hello函数的行为,使其在执行前后打印额外的信息。

除了上述示例中的简单装饰器,还可以编写带有参数的装饰器或多层嵌套的装饰器。装饰器在Python中有广泛的应用,可以用于实现日志记录、性能分析、缓存等功能

python里装饰器

原文地址: http://www.cveoy.top/t/topic/iJsH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录