默认参数后接可变参数
def f1(a, b, c=0, *args, **kw):
print('a=',a, 'b=', b, 'c=', c, 'args=', args, 'kw', kw)
num = [1,5,9]
f1(1,2,c=6,*num,kw={'city':'Shenyang'})
'''
报错:
Traceback (most recent call last):
File "E:\pythonProject\Test\reTest\6.py", line 279, in <module>
f1(1,2,c=6,*num,kw={'city':'Shenyang'})
TypeError: f1() got multiple values for argument 'c'
'''
f1(1,2,3,*num,gender='M') # a= 1 b= 2 c= 3 args= (1, 5, 9) kw {'gender': 'M'}
默认参数后若接可变参数应该直接写值,不加名。例:c = 6 会报错 应直接写6