def f(*args,x,y,**kwargs):
print(x)
print(y)
print(args)
print(kwargs)
f(11,12,13,x=5,y=10,a='like',b='python')
>>5
>>10
>>(11, 12, 13)
>>{'a': 'like', 'b': 'python'}
知识点:
顺序参数在前,关键词参数在后,*args可变顺序参数,**kwargs可变关键词参数
x,y置于可变顺序参数之后,只能被当作不可变关键词参数。
keyword-only参数另一种形式,*号之后,普通形参变成了必须给出的keyword-only参数
def fn(*,x,y):
print(x)
print(y)
f(x=4,y=5)
>>4
>>5
可变参数和参数默认值,keyword-only参数一般会设置参数默认值
def fn(*args,x=5):
print(x)
print(args)
fn(5)
>>5
>>(5,)
网友评论