温馨提示×

Python中的装饰器怎么传递参数

小亿
224
2024-03-12 14:23:35
栏目: 编程语言

在Python中,装饰器可以接受参数,可以通过在装饰器函数外再包一层函数来实现传递参数。例如:

def my_decorator(param): def decorator(func): def wrapper(*args, **kwargs): print("Decorator with param: {}".format(param)) return func(*args, **kwargs) return wrapper return decorator @my_decorator("Hello") def say_hello(): print("Hello, world!") say_hello() 

在上面的例子中,my_decorator 是一个接受参数的装饰器函数。当使用装饰器时,可以传递参数给my_decorator,然后返回一个装饰器函数decorator,该函数接受被装饰函数作为参数,并返回包裹原始函数的新函数wrapper。在wrapper函数中,我们可以使用传递给my_decorator的参数。

0