在Python中指定除*args之外的任意参数

问题描述 投票:0回答:2

对于像这样具有多个参数的函数:

def f(a, b, c):
    return a + b + c

定义一个新函数很简单,如下所示:

def g(a, *args):
    return f(a, *args)

这里,

a
f()
的第一个参数。如果我想指定
f()
的第二个参数,即:

,该怎么办?
def g(b, *args):
    # return f(???)
python function arguments positional-argument
2个回答
0
投票

您只是对上一个示例中的参数重新排序。您需要解压

*args
并将它们传递给
f

def g(b, *args):
    a, c = args
    return f(a, b, c)

0
投票

您可以从

*args
中解压一些参数:

def f(a, b, c):
    return a + b + c


def g(b, *args):
    a,*rest = args
    return f(a, b, *rest)


print(g(1,2,3))

输出:

6

© www.soinside.com 2019 - 2024. All rights reserved.