consider the following function: def foo(a,b,c,x):
pass
The following calls are equivalent:
foo(1,2,3, x=0)
foo(*(1,2,3), x=0)
However, since python allows keyword arguments before star-unpacking, you can also do:
foo(x=0, *(1, 2, 3))
But removing the unpacking, would result in a syntax error:
foo(x=0, 1, 2, 3)
This is against the understanding of unpacking, is this intentional?