1
私はPythonでデコレータに精通取得しようとしていますが、私はこの下に取得する理由の言語に初心者として、私は理解することはできません。がどのように引数が彼らに渡されたときにデコレーターが動作しません
私のコードを持つデコレータため引数:
def decorator_with_argument(fun_name):
def decorator_func(func):
'''decorator function which will provide additional functionality to my original function'''
print("Inside decorator")
def wrapper_func(*args,**kwargs):
print("Inside wrapper")
print("Calling function {} with parameters {} {}".format(fun_name, *args, **kwargs))
return func(*args,**kwargs)
return wrapper_func
return decorator_func
@decorator_with_argument("Addition")
def addition_func(a,b):
print(a+b)
@decorator_with_argument("Subtraction")
def subtraction_func(a,b):
print(a-b)
addition_func(10,15)
subtraction_func(25,10)
出力:私は二回 "インサイドデコレータ" を取得する理由
Inside decorator
Inside decorator
Inside wrapper
Calling function Addition with parameters 10 15
25
Inside wrapper
Calling function Subtraction with parameters 25 10
15
誰かが私に説明できますか?