У Python 2.x (я використовую 2.7), який правильний спосіб використовувати аргументи за замовчуванням за допомогою *argsта **kwargs?
Я знайшов запитання щодо SO, пов’язаного з цією темою, але це стосується Python 3 :
Виклик функції Python за допомогою * args, ** kwargs та необов’язкових / типових аргументів
Там вони кажуть, що цей метод працює:
def func(arg1, arg2, *args, opt_arg='def_val', **kwargs):
#...
У 2.7 це призводить до a SyntaxError. Чи існує рекомендований спосіб визначення такої функції?
Я змусив це працювати таким чином, але, мабуть, є більш приємне рішення.
def func(arg1, arg2, *args, **kwargs):
opt_arg ='def_val'
if kwargs.__contains__('opt_arg'):
opt_arg = kwargs['opt_arg']
#...