以下哪种函数定义是正确的?()
def func(a=1, b, *args): pass
def func(a, b=2, **kwargs, *args): pass
def func(a, *args, b=2, **kwargs): pass
def func(**kwargs, *args, a): pass