我想知道如何在Python中操作一个函数来获取新的参数,而不修改原始公式。在
例如,我如何使用平方函数,并使用平方函数作为模型来生成另一个类似于乘平方的函数:
原始功能:
def square(x):
result = (x*x)
return(result)
新函数,接受新参数“y”:
^{pr2}$我试过用装饰器,但似乎没法用
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
最后,我想创建一个函数,它接受原始函数的所有参数再加上一个参数。在
谢谢大家!在
如果你注意你论点的顺序,发生的事情是你把3平方,然后乘以2。这是因为您的函数
wrapArg
使用第一个参数(2
)作为相乘的数字,第二个参数(3
)作为要平方的数字。在multSquare(3, 2)
将得到您想要的结果。在除了busybear说的,你可以交换参数
或者只使用可选参数
^{pr2}$相关问题 更多 >
编程相关推荐