在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
的參數。