给出一个函数fxn1()
def fxn1(a,b=1):
return a*b
我想做类似的事情:
fxn2=fxn1(.,b=2)
换句话说,我想创建一个新函数fxn2(),该函数与fxn1()相同,但可选参数的默认值不同。我无法在网上找到答案/方向。
答案 0 :(得分:2)
您可以使用部分功能:
from functools import partial
fxn2 = partial(fxn1, b=2)
fxn2(1)
答案 1 :(得分:2)
您可以使用functools.partial
(official doc):
from functools import partial
def fxn1(a,b=1):
return a*b
fxn2 = partial(fxn1, b=2)
print(fxn2(4))
打印:
8
答案 2 :(得分:1)
def fxn1(a,b=1):
return a*b
def fxn2(a,b=2):
return fxn1(a,b)
答案 3 :(得分:0)
最简单的方法是
def fxn2(a, b=2):
return fxn1(a, b)