Python中调用函数时,有时会报SyntaxError: non-keyword arg after keyword arg
错误。
这通常是因为函数中定义了部分参数的默认值,Python中*arg
表示任意多个无名参数,类型为tuple(元组),**kwargs
表示关键字参数,为dict(字典),因此没有默认值的参数,即*arg
要放在前面,**kwargs
要放在后面,出现这个错误后,可以在有默认值的参数前加上参数名即可。
Demo:
# 报错
cv2.circle(im,pos,2,color=(0,0,255),-1)
# 不报错
cv2.circle(im,pos,2,color=(0,0,255),thickness=-1)