请问为什么我这里关键参数已经放在了最后但还是报错啊?

def demo(a,b,c=0):
print(a,b,c)
demo(1,2,a=2)
请问为什么我这里关键参数已经放在了最后但还是报错啊?
报错是:demo() got multiple values for argument 'a'

a=2,b=1,c=3 或者把a=2改为c=2

关键参数是c啊,a和b都是位置参

关键参数是c,你在调用函数的时候,必须使用的是c=2。a=2是不行的,这样会把前面的1,2都看作是给a的值。
在调用的时候,python对于顺序看的是非常严格的。