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

2022-01-21 00:00:00 python function arguments

问题描述

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

I have a script that reads a variable number of fields from an input file and pass them to a function as arguments. For example:

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

file 1 with fields: A,B and C => function(A,B,C)

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

file N with fields: A,B,C and D => function(A,B,C,D)

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

My question is: How to feed the function with the right number of fields accordingly to the input file?.

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

PD: Of course the function accepts any number of arguments


解决方案

将字段(参数)读入列表,然后使用 参数解包:

Read the fields (arguments) into a list and then use 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')
>>>

相关文章