使用现有函数,如何使用不同的默认可选参数定义新函数?

时间:2019-05-27 19:50:51

标签: python python-3.x function

给出一个函数fxn1()

def fxn1(a,b=1):
    return a*b

我想做类似的事情:

fxn2=fxn1(.,b=2)

换句话说,我想创建一个新函数fxn2(),该函数与fxn1()相同,但可选参数的默认值不同。我无法在网上找到答案/方向。

4 个答案:

答案 0 :(得分:2)

您可以使用部分功能:

from functools import partial
fxn2 = partial(fxn1, b=2)

fxn2(1)

答案 1 :(得分:2)

您可以使用functools.partialofficial 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)