在 Python 2. x(我使用2.7)中,哪种方法对 *args和 **kwargs使用默认参数是正确的?
我发现了一个与这个主题相关的 SO 问题,但这是针对 巨蟒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']
#...