def func(a, /, b, *, c):
print(a, b, c)
func(1, 2, c=3) # ok
func(1, b=2, c=3) # ok
func(a=1, 2, 3) # err
def f1(a, b, c, /): # ok
pass
f1(1, 2, 3) # ok
f1(1, 2, c=3) # err
def f2(*, a, b, c): # ok
pass
f2(a=1, b=2, c=3) # ok
f2(1, b=2, c=3) # err
def f3(a, /, *, b): # ok
pass
f3(1, b=2) # ok
f3(1, 2) # err
f3(a=1, b=2) # err
def f4(a, /, b, *, c): # ok
pass
f4(1, 2, c=3) # ok
f4(1, b=2, c=3) # ok
f4(1, 2, c) # err
f4(a=1, b=2, c=3) # err
def f5(a, *, b, /, c): # err: invalid syntax
pass