次のような定義を持つpython関数(python 2.5)があります。
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
それとも、引数の範囲に割り込む前に、すべてのデフォルトを重複して指定しているのですか?
議論のために、関数定義を変更またはリファクタリングすることはできません。