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



给定一个函数fxn1((

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

我想做这样的事情:

fxn2=fxn1(.,b=2)

简而言之,我想创建一个新函数 fxn2((,它与 fxn1(( 相同,但具有不同的可选参数默认值。我无法在网上找到答案/方向。

您可以使用functools.partial(官方文档(:

from functools import partial
def fxn1(a,b=1):
    return a*b
fxn2 = partial(fxn1, b=2)
print(fxn2(4))

指纹:

8

您可以使用部分函数:

from functools import partial
fxn2 = partial(fxn1, b=2)
fxn2(1)
def fxn1(a,b=1):
    return a*b
def fxn2(a,b=2):
    return fxn1(a,b)

最简单的方法是

def fxn2(a, b=2):
    return fxn1(a, b)

最新更新