Pythonのデコレーターでパラメータをどのように渡すのですか?
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に渡されたパラメータを使用できます。