Python 2.xのでデフォルト引数を使用する適切な方法である(私は2.7を使用)、*argsおよび**kwargs?
このトピックに関連するSOに関する質問を見つけましたが、それはPython 3用です:
* args、** kwargs、およびオプション/デフォルトの引数を使用してPython関数を呼び出す
そこで、彼らはこの方法が機能すると言います:
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']
#...