关键字参数: 函数调用的时候通过给实际参数贴标签,标记是形式参数的变量名
通过关键字参数可以不按照顺序来配对
关键字参数的作用:当参数很多的时候
def test(a,b,c):
print(a)
print(b)
print(c)
test(b=1,a=2,c=3)
2
1
3
当既有位置参数也有关键字参数时:关键字参数要放到位置参数的后面
情况1:正确
def test(a,b,c):
print(a)
print(b)
print(c)
test(1,c=2,b=3)
1
3
2
情况2:运行错误
def test(a,b,c):
print(a)
print(b)
print(c)
test(c=1,a=2,3)
当既有位置参数也有关键字参数时:位置参数和形式参数要一一对应
情况3:运行正确
def test(a,b,c):
print(a)
print(b)
print(c)
test(1,c=2,b=3)
1
3
2
情况4:运行报错
def test(a,b,c):
print(a)
print(b)
print(c)
test(1,c=2,a=3)
报错信息
TypeError: test() got multiple values for argument 'a'
分析错误原因:位置参数1和第一个形式参数a对应;关键字参数c=2和形式参数c对应;关键字参数a=3与形式参数没有匹配到,所以会报错