在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']
#...