我有一个Python函数(Python 2.5),定义如下:
但是会出现以下错误:
有没有一种语法可以仅使用第一个必需参数和我的(可变数量的)附加字符串来简洁地调用 Foo?或者我必须在打破 addl 参数范围之前冗余地指定所有默认值吗?
为了论证,函数定义不能被修改或重构。
def Foo(a, b='Silly', c='Walks', d='Spam', e='Eggs', f='Ni', *addl):
其中addl
可以是任意数量的字符串(文件名),用于执行某些操作。
我对所有默认值都满意,但我有要放入addl
的文件名。
我倾向于这样做:
Foo('me@domain.com', addl=('File1.txt', 'File2.txt'))
但是会出现以下错误:
TypeError: Foo() got an unexpected keyword argument 'addl'
有没有一种语法可以仅使用第一个必需参数和我的(可变数量的)附加字符串来简洁地调用 Foo?或者我必须在打破 addl 参数范围之前冗余地指定所有默认值吗?
为了论证,函数定义不能被修改或重构。
'File1.txt'
赋值给a
,并将'File2.txt'
赋值给b
。 - zondoPython 2.5
,对于Python>2.5
也是成立的,对吗?我在Python 2.7
上尝试过,同样将File2.txt
赋值给了b
。 - malharFoo
的所有其他代码产生了无法缓解的影响。 - MellowNello