使用可变数量的参数提供python函数

时间:2014-07-31 15:05:34

标签: python function arguments

我有一个脚本,它从输入文件中读取可变数量的字段,并将它们作为参数传递给函数。例如:

  

文件1,包含字段:A,B和C => function(A,B,C)

     

文件N,其中包含字段:A,B,C和D => function(A,B,C,D)

我的问题是:如何根据输入文件为函数提供正确数量的字段?

PD:当然该函数接受任意数量的参数

2 个答案:

答案 0 :(得分:2)

将字段(参数)读入列表,然后使用argument unpacking

function(*fields)

以下是演示:

>>> def func(*args):
...     return args
...
>>> fields = ["A", "B", "C"]
>>> func(*fields)
('A', 'B', 'C')
>>> fields = ["A", "B", "C", "D"]
>>> func(*fields)
('A', 'B', 'C', 'D')
>>>

答案 1 :(得分:1)

你应该使用这样的args和kwargs:

def foo(*args, **kwargs):
  pass
以这种方式你可以得到位置和命名参数,args应该是一个值列表,持有位置参数,kwargs应该是一个字典,它的键是参数名称及其值