This is the pythonic way
def func(*args, defaulted='default', **kwargs):
# args is a list, kwargs is a dict
arg0 = args[0] if args else None
another_kwarg = kwargs.get('another_kwarg', 'default')
print(arg0, defaulted, another_kwarg)
>>> func('one', 'two', defaulted='myval')
one myval default
>>> func(another_kwarg='myval')
None default myval
>>> args = ('one', 'two')
>>> kwargs = {'defaulted': 'myval', 'another_kwarg': 'other'}
>>> func(*args, **kwargs)
one myval other