关于功能:args和kargs的参数如何在Python中看起来?

How do the parameters of args AND kargs both look in Python?

本问题已经有最佳答案,请猛点这里访问。

我想我知道如何在函数中单独使用它们,比如……

F(*args)或F(*kargs)

但是如果一个函数同时接受这两个参数呢?例如:F(*args,**kargs)


*args得到位置参数;**kwargs得到命名参数。例如:

1
f(1, 2, 3, a=1, b=2, c=3)

将通过

1
2
args = (1, 2, 3)
kwargs = {a: 1, b: 2, c: 3}

是的,它工作

1
2
def f(*args, **kwargs):
    pass

如果您像这样调用函数f(1, 3,"foo", [1, 2, 10], a=1, apple=33),那么在函数args中将是(1, 3,"foo", [1, 2, 10])kwargs将是docx1〔4〕。

它也会起作用的

1
2
def f(a, b, foo, *args, **kwargs):
    pass

但如果我们用相同的参数来调用这个函数,a将是1b将是3foo将是"foo"args将是([1, 2, 10])kwargs将是相同的。