How to write decorator with both function and decorator parameters in Python
def modify_multiply_decorator(*args, **kwargs): # coeff=3
def dec(multiply_func):
def inner(*nums): # (2, 290)
coefficient = kwargs["coefficient"] # 3
result = multiply_func(*nums) # 2 * 290
modified_result = coefficient * result # 3 * 580
return modified_result # 1740
return inner
return dec
@modify_multiply_decorator(coefficient=3)
def multiply(*nums):
return nums[0] * nums[1]
print(multiply(2,290))