一、命名关键字形参:在定义函数的时候,*形参之后的形参,称为命名关键字形参,这些形参只能接收关键字实参的传值。
def func(a, b, *, x, y): # a,b 为位置形参,*为可变长度形参,x,y 为命名关键字形参 pass func(1, 2, x=1, y=2)
二、组合参数
1、形参混合顺序:位置形参,默认形参,*args,命名关键字形参,**kwargs。
def func(a, b=2, *args, x, **kwargs): pass func(1, 3, 4, 5, x=6, y=7, z=8) # a=1 args=(4, 5) x=6,kwargs={'y': 7, 'z': 8}
2、实参混合顺序:位置实参,*可遍历实参,关键字实参,**字典实参。
def func(a, b, c, d, e, f): pass func(1, *(2, 3), d=4, **{'e': 5, 'f': 6}) # a=1,b=2,c=3,d=4,e=5,f=6