我有一个 python 函数(python 2.5),其定义如下:
def Foo(a, b='Silly', c='Walks', d='Spam', e='Eggs', f='Ni', *addl):
whereaddl
可以是任意数量的字符串(文件名)来做某事。
我对所有默认值都很好,但我有文件名要放入addl
.
我倾向于做类似的事情:
Foo('me@domain.com', addl=('File1.txt', 'File2.txt'))
但这会出现以下错误:
TypeError: Foo() got an unexpected keyword argument 'addl'
是否有一种语法可以让我 Foo
只使用第一个必需参数和我的(可变数量)附加字符串来简洁地调用?或者我是否在进入addl
参数范围之前重复指定了所有默认值?
为了论证,函数定义不能被修改或重构。