在调用函数时,如果既使用命名参数又使用位置参数,需要使用位置参数的所有参数都在命名参数之前。例如:
def func(a, b, *, c, d):
pass
# 正确
func(1, 2, c=3, d=4)
func(1, 2, **{'c': 3, 'd': 4})
# 错误:位置参数在命名参数后面
func(1, 2, 3, 4, c=5)
在上面的示例中,func() 函数使用了命名参数 c 和 d,因此调用函数时必须使用关键字参数 c 和 d。如果还要使用位置参数 a 和 b,则必须在命名参数 c 和 d 之前传入它们。