In a function parameter list, a parameter without a default cannot occur after a parameter with a default,
def func(a, b=2, c, d=4, e): .... ERROR
unless this is after *
:
def func(a, b=2, *, c, d=4, e): .... OK
Why are non-default arguments permitted after default arguments after *
?