我有一个作为输入的函数*args
:
def foo(*args):
for a in args:
print(a)
这按预期工作
> foo('a', 'b')
> a
> b
我面临一种情况,我不知道要传递多少个参数(这是 的全部要点args
),但我不知道如何创建要传递给的“位置参数列表”功能。
部分挑战是恰当地表达问题。
让我举个例子:这个函数可能被称为foo('a')
或者它可能被称为foo('a', 'b', 'c', 'd', 'e')
但我不知道,因为这个函数被另一个类调用,它创建了未知数量的参数列表。
本质上,我想创建一个包含如下参数的变量:
positional_arguments = ('a','b','c')
这样该函数就可以像foo(positional_arguments)
.
然而,这不起作用,因为它没有正确解包positional_arguments
:
> foo(positional_parameters)
> ('a', 'b', 'c')
但我想要的是
> foo(positional_parameters)
> a
> b
> c