Pythonでオプションの引数と*argsパラメーターの両方を使用してメソッドを定義および呼び出す方法について質問があります。例えば、
def test_func(arg1, optional_arg=None, *args):
...
そして、次のステートメントのいずれかを使用してメソッドを呼び出せるようにしたいと思います。
test_func("foo", arg1, arg2, ..., optional_arg="bar")
...
test_func("foo", arg1, arg2, ...)
# arg1, arg2 ... belongs to *args;
# optional_arg is unset (defaults to None)
これはまったく可能ですか、それともこのようなメソッドを呼び出すときにoptional_argを何かに設定する必要がありますか?つまり、関数を呼び出すときにoptional_arg = ...と具体的に記述した場合にのみ、optional_argを設定する必要があります。