Python 2.x (私は 2.7 を使用) では、デフォルト引数を および で使用する適切な方法はどれ*args
ですか**kwargs
?
このトピックに関連する SO に関する質問を見つけましたが、それはPython 3に関するものです:
Calling a Python function with *args,**kwargs and optional / default arguments
そこでは、この方法が機能すると彼らは言います:
def func(arg1, arg2, *args, opt_arg='def_val', **kwargs):
#...
2.7 では、結果はSyntaxError
. そのような関数を定義するための推奨される方法はありますか?
私はこの方法で動作しましたが、もっと良い解決策があると思います。
def func(arg1, arg2, *args, **kwargs):
opt_arg ='def_val'
if kwargs.__contains__('opt_arg'):
opt_arg = kwargs['opt_arg']
#...