我想知道如何在不修改原始公式的情况下操纵函数以在 Python 中获取新参数。
例如,我将如何使用平方函数并使用平方函数作为模型制作另一个函数,例如乘方:
原始功能:
def square(x):
result = (x*x)
return(result)
新函数,接受一个新参数“y”:
def multSquare(x,y):
result = y*square(x)
return(result)
我尝试使用装饰器,但似乎无法正常工作
def addArg(tarFun):
def wrapArg(y, *args, **kwargs):
result=tarFun(*args, **kwargs) * y
return result
return wrapArg
def square(x):
result = (x*x)
return(result)
multSquare = addArg(square)
print(square(2)) # This should be 4
print(multSquare(2,3)) # This should be 12
这不起作用,因为我不知道如何注入 y。
最后,我想创建一个函数,它接受原始函数的所有参数加上一个参数。
谢谢大家!