一尘不染

Python-是否可以将可变数量的参数传递给函数?

python

与在CC ++中使用varargs的方式类似:

fn(a, b)
fn(a, b, c, d, ...)

阅读 452

收藏
2020-02-12

共1个答案

一尘不染

是。

如果你不理会关键字参数,这很简单并且可以工作:

def manyArgs(*arg):
  print "I was called with", len(arg), "arguments:", arg

>>> manyArgs(1)
I was called with 1 arguments: (1,)
>>> manyArgs(1, 2, 3)
I was called with 3 arguments: (1, 2, 3)

如你所见,Python将为你提供一个包含所有参数的元组。

对于关键字参数,你需要将其作为单独的实际参数接受,如Skurmedelanswer所示。

2020-02-12